文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SendRawEmail
搭配 AWS SDK 或 CLI 使用
下列程式碼範例示範如何使用 SendRawEmail
。
- CLI
-
- AWS CLI
-
使用 Amazon SES 傳送電子郵件原始碼
下列範例使用
send-raw-email
命令來傳送包含 TXT 附件的電子郵件:aws ses send-raw-email --raw-message
file://message.json
輸出:
{ "MessageId": "EXAMPLEf3f73d99b-c63fb06f-d263-41f8-a0fb-d0dc67d56c07-000000" }
原始訊息是在目前目錄中以名為
message.json
的檔案儲存的 JSON 資料結構。其中包含下列各項:{ "Data": "From: sender@example.com\nTo: recipient@example.com\nSubject: Test email sent using the AWS CLI (contains an attachment)\nMIME-Version: 1.0\nContent-type: Multipart/Mixed; boundary=\"NextPart\"\n\n--NextPart\nContent-Type: text/plain\n\nThis is the message body.\n\n--NextPart\nContent-Type: text/plain;\nContent-Disposition: attachment; filename=\"attachment.txt\"\n\nThis is the text in the attachment.\n\n--NextPart--" }
如您所見,「資料」是一個長字串,其中包含 MIME 格式的整個原始電子郵件內容,包括名為 attachment.txt 的附件。
將 sender@example.com 和 recipient@example.com 取代為您要使用的地址。請注意,必須透過 Amazon SES 驗證寄件者的電子郵件地址。在您取得 Amazon SES 生產存取權之前,除非收件者是 Amazon SES 信箱模擬器,否則您還必須驗證收件者的電子郵件地址。如需驗證詳細資訊,請參閱《Amazon Simple Email Service 開發人員指南》中的「在 Amazon SES 中驗證電子郵件地址和網域」。
輸出中的訊息 ID 表示對 send-raw-email 的呼叫成功。
如果您沒有收到電子郵件,請檢查您的垃圾郵件匣。
如需傳送電子郵件原始碼的詳細資訊,請參閱《Amazon Simple Email Service 開發人員指南》中的「使用 Amazon SES API 傳送電子郵件原始碼」。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 SendRawEmail
。
-
- JavaScript
-
- SDK for JavaScript (v3)
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 使用 nodemailer
發送含附件的電子郵件。 import sesClientModule from "@aws-sdk/client-ses"; /** * nodemailer wraps the SES SDK and calls SendRawEmail. Use this for more advanced * functionality like adding attachments to your email. * * https://nodemailer.com/transports/ses/ */ import nodemailer from "nodemailer"; /** * @param {string} from An Amazon SES verified email address. * @param {*} to An Amazon SES verified email address. */ export const sendEmailWithAttachments = ( from = "from@example.com", to = "to@example.com", ) => { const ses = new sesClientModule.SESClient({}); const transporter = nodemailer.createTransport({ SES: { ses, aws: sesClientModule }, }); return new Promise((resolve, reject) => { transporter.sendMail( { from, to, subject: "Hello World", text: "Greetings from Amazon SES!", attachments: [{ content: "Hello World!", filename: "hello.txt" }], }, (err, info) => { if (err) { reject(err); } else { resolve(info); } }, ); }); };
-
如需 API 詳細資訊,請參閱《AWS SDK for JavaScript API 參考》中的 SendRawEmail。
-