Java 適用的 Mail Service API 支援用於傳送電子郵件的 JavaMail (javax.mail
) 介面。
事前準備
將您的寄件者電子郵件註冊為已獲授權的寄件者。詳情請參閱可以傳送電子郵件的人員一節。
傳送電子郵件
如要傳送電子郵件,請使用 App Engine SDK 隨附的 JavaMail 類別。
建立 JavaMail Session 時,如果您未提供任何 SMTP 伺服器設定,App Engine 會使用 Mail 服務傳送訊息。您也可以針對支援的第三方電子郵件服務供應商 (例如 Mailgun、Mailjet 或 SendGrid) 新增 SMTP 設定。
如何傳送電子郵件:
使用 JavaMail
Session
物件建立訊息。建立
MimeMessage
物件。如要設定電子郵件的寄件者和收件者,請使用
InternetAddress
類別。透過呼叫
MimeMessage
物件上的setFrom()
方法來識別寄件者。您也可以在第二個參數中以字串的形式提供個人名稱。透過將收件者類型和地址傳送至
addRecipient()
方法來識別收件者。收件者類型可以是Message.RecipientType.TO
、Message.RecipientType.CC
或Message.RecipientType.BCC
。
如果電子郵件地址似乎無效,
InternetAddress
建構函式會引發AddressException
。如要設定「回覆」地址,請使用
setReplyTo()
方法。透過呼叫
MimeMessage
物件上的方法來建立電子郵件的內容。使用setSubject()
設定主旨,並使用setText()
設定純文字本文內容。如要傳送電子郵件,請在
Transport
類別上使用send()
靜態方法。
「郵件」服務可讓您在外送電子郵件上指定一組有限的標頭。詳情請參閱您可以選用的標頭一節。
下列程式碼範例示範如何傳送郵件:
對「郵件」服務的呼叫不會同步進行,並且會立即傳回。「郵件」服務負責管理的程序包含聯絡收件者的郵件伺服器和傳遞電子郵件。如果傳送電子郵件給任何收件者時發生問題,或者收件者的郵件伺服器傳回「退件」通知,寄件者將會收到錯誤訊息。
傳送包含多個部分的電子郵件
您可以傳送包含多個部分的電子郵件,例如包含檔案附件的電子郵件,或包含純文字郵件內文和 HTML 郵件內文的電子郵件。
如何傳送包含多個部分的電子郵件:
建立
MimeMultipart
物件以包含各個部分,然後為每個附件或替代郵件內文建立MimeBodyPart
物件,並將其新增至容器中。將容器指派給
MimeMessage
的內容。
下列程式碼範例示範如何傳送包含多個部分的電子郵件:
基於安全性考量,電子郵件的各個部分和附件必須是其中一種允許的類型,而且附件的檔案名稱必須以該類型的可識別副檔名結尾。如需允許的類型和副檔名清單,請參閱含有附件的郵件一節。