我正在寻找一个可用的C#示例,用于在Amazon SES中添加list-unsubscribe标头。
在阅读了Amazon-SES现在支持添加标头后,我正在寻找一个C#示例,但未能找到一个。
我正在寻找一个可用的C#示例,用于在Amazon SES中添加list-unsubscribe标头。
在阅读了Amazon-SES现在支持添加标头后,我正在寻找一个C#示例,但未能找到一个。
我找不到像Java那样好的API。对于C#,我找到了两个替代方案。
最简单的选择可能是切换到SMTP接口和.Net的本地SMTP类(或第三方库):使用C#通过SMTP发送电子邮件
示例代码使用了System.Net.Mail
中的MailMessage
类:
// Create and build a new MailMessage object
MailMessage message = new MailMessage();
message.IsBodyHtml = true;
message.From = new MailAddress(FROM,FROMNAME);
message.To.Add(new MailAddress(TO));
message.Subject = SUBJECT;
message.Body = BODY;
// Comment or delete the next line if you are not using a configuration set
message.Headers.Add("X-SES-CONFIGURATION-SET", CONFIGSET);
另一个(不太理想的)选项是使用SendRawEmailRequest
。使用此API,您必须将消息与其标题、附件和其他数据一起编码到MemoryStream
中。
示例代码来自AWS SDK .Net文档 - SES - RawMessage:
var sesClient = new AmazonSimpleEmailServiceClient();
var stream = new MemoryStream(
Encoding.UTF8.GetBytes("From: johndoe@example.com\n" +
"To: janedoe@example.com\n" +
"Subject: You're invited to the meeting\n" +
"Content-Type: text/plain\n\n" +
"Please join us Monday at 7:00 PM.")
);
var raw = new RawMessage
{
Data = stream
};
var to = new List<string>() { "janedoe@example.com" };
var from = "johndoe@example.com";
var request = new SendRawEmailRequest
{
Destinations = to,
RawMessage = raw,
Source = from
};
sesClient.SendRawEmail(request);