本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 開發人員指南 SES 中的在 Amazon 中驗證電子郵件地址和網域。
輸出中的訊息 ID 表示對 send-raw-email 的呼叫成功。
如果您沒有收到電子郵件,請檢查您的垃圾郵件匣。
如需傳送原始電子郵件的詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南 SES API 中的使用 Amazon 傳送原始電子郵件。
-
如需API詳細資訊,請參閱 命令參考 SendRawEmail
中的 。 AWS CLI
-
- JavaScript
-
- SDK 適用於 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詳細資訊,請參閱 參考 SendRawEmail中的 。 AWS SDK for JavaScript API
-
如需開發人員指南和程式碼範例的完整清單 AWS SDK,請參閱 SES 搭配 使用 Amazon AWS SDK。本主題也包含有關入門的資訊,以及先前SDK版本的詳細資訊。