首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Amazon SES添加列表-取消订阅标头

使用Amazon SES添加列表-取消订阅标头
EN

Stack Overflow用户
提问于 2018-02-26 13:31:12
回答 1查看 724关注 0票数 1

我正在寻找一个工作的C#示例,以添加列表-取消订阅标题与亚马逊SES。

在读到Amazon-SES现在支持添加头之后,我搜索了一个C#示例,但是找不到。

EN

回答 1

Stack Overflow用户

发布于 2018-02-26 15:12:43

我找不到nice API like they have for Java。对于C#,我找到了两个替代方案。

最简单的选择可能是切换到SMTP接口和.Net的原生SMTP类(或第三方库):Send an Email Using SMTP with C#

示例代码使用来自System.Net.MailMailMessage class

代码语言:javascript
复制
// 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 documentation - SES - RawMessage

代码语言:javascript
复制
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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48981977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档