My favorites | 中文(繁體) | Sign in
英文版或許有比此中譯版新的內容

Mail Java API 總覽

「應用服務引擎」應用程式能夠以應用程式管理員的名義,以及「Google 帳戶」使用者的名義傳送電子郵件。應用程式會透過「郵件」服務傳送電子郵件。

使用 JavaMail API 傳送郵件

Mail Service Java API (郵件服務 Java API) 支援使用 JavaMail (javax.mail) 介面來傳送電子郵件。

建立 JavaMail 工作階段時,您不需要提供任何 SMTP 伺服器設定。「應用服務引擎」將永遠使用「郵件」服務來傳送郵件。

import java.util.Properties;
import javax.mail.AddressException;
import javax.mail.InternetAddress;
import javax.mail.MessagingException;
import javax.mail.MimeMessage;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;

// ...
        Properties props = new Properties();
        Session session = Session.getDefaultInstance(props, null);

        String msgBody = "...";

        try {
            Message msg = new MimeMessage(session);
            msg.setFrom(new InternetAddress("admin@example.com"));
            msg.addRecipient(Message.RecipientType.TO,
                             new InternetAddress("user@example.com", "Mr. User"));
            msg.setSubject("Your Example.com account has been activated");
            msg.setText(msgBody);
            Transport.send(msg);
    
        } catch (AddressException e) {
            // ...
        } catch (MessagingException e) {
            // ...
        }

電子郵件

「郵件」服務可以將電子郵件傳送給一或多位收件者。訊息包含主旨、純文字本文和選擇性的 HTML 內文,也可以包含檔案附件。

基於安全理由,訊息的寄件者地址必須是應用程式管理員的電子郵件地址,或是已登入使用者的「Google 帳戶」電子郵件地址。電子郵件地址可以包括「回覆」地址,不過必須符合這些限制。

如果您要代表應用程式傳送電子郵件,但是不想使用單一管理員的個人「Google 帳戶」做為寄件者,您可以使用任何有效的電子郵件地址,為應用程式建立新的「Google 帳戶」,再將這個新的帳戶列入應用程式的管理員。如要將帳戶列入管理員,請參閱「管理控制台」的「開發人員」一節。

在收件者欄位中,您可以輸入任何電子郵件地址。收件者可以是電子郵件的「收件者」欄位或「副本」欄位,也可以是電子郵件標頭的隱藏欄位 (「密件副本」)。

附件

電子郵件可以擁有零或多個附件。

附件包含檔案名稱和檔案資料,而檔案資料可以來自任何來源,例如應用程式資料檔案或資料存放區。附件的 MIME 類型是根據檔案名稱而決定的。

基於安全理由,電子郵件的附加檔案類型必須是允許的檔案類型,而檔案名稱的結尾必須是對應類型的副檔名。

下列 MIME 類型及其相應副檔名的清單,都可以附加至電子郵件訊息。

MIME 類型副檔名
image/x-ms-bmpbmp
text/csscss
text/逗點分隔值csv
image/gifgif
text/htmlhtm html
image/jpegjpeg jpg jpe
application/pdfpdf
image/pngpng
application/rss+xmlrss
text/plaintext txt asc diff pot
image/tifftiff tif
image/vnd.wap.wbmpwbmp
text/calendarics
text/x-vcardvcf

傳送郵件

當應用程式呼叫「郵件」服務傳送訊息時,訊息會排入佇列等候,而呼叫會立即傳回。「郵件」服務會透過標準程序,連線每個收件者的郵件伺服器與傳遞訊息,並在無法連線郵件伺服器時重試。

如果「郵件」伺服器無法傳遞訊息,或是收件者的郵件伺服器退回訊息 (例如,伺服器查無指定地址的帳戶),則訊息寄件者會收到錯誤訊息的電子郵件。應用程式本身不會收到任何關於傳遞成功與否的通知。

郵件和開發伺服器

當執行於開發伺服器的應用程式呼叫「郵件」服務以傳送電子郵件時,該郵件會列在記錄中。Java 開發伺服器不會傳送電子郵件。

配額和限制

「郵件」服務的每個要求會算入 Mail API Calls (郵件 API 呼叫) 的配額中。

電子郵件訊息的每個收件者地址會算入「已郵寄的收件者 (可調整)」的配額中。每位應用程式管理員的收件者也會算入「已郵寄的管理員」的配額中。

透過電子郵件內文所傳送的資料會算入下列配額中:

  • 連出頻寬 (可調整)
  • 傳送的訊息內文資料

電子郵件所包含的每個附件會算入「傳送的附件」的配額中。

透過電子郵件附件所傳送的資料會算入下列配額中:

  • 連出頻寬 (可調整)
  • 傳送的附件資料

如需瞭解配額的詳細資訊,請參閱「配額」,或參閱「管理控制台」的「配額詳細資訊」一節。

除了配額之外,使用「郵件」服務時也需遵循下列限制:

限制 大小
郵件大小上限,包括附件 1 MB
管理員為收件者時的訊息大小上限 16 KB