SendRawEmail 搭配 a AWS SDK 或 CLI 使用 - AWS SDK 程式碼範例

文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的 GitHub 範例。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SendRawEmail 搭配 a 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 表示呼叫 to send-raw-email 成功。

如果您沒有收到電子郵件,請檢查您的垃圾郵件匣。

如需傳送原始電子郵件的詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南API中的使用 Amazon SES 傳送原始電子郵件。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SendRawEmail

JavaScript
SDK for JavaScript (v3)
注意

還有更多 on 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