当前位置: 首页 > 面试题库 >

如何在golang中实现带有附件的AWS ses SendRawEmail

邢凯歌
2023-03-14
问题内容

我需要在golang中实现带有附件的Amazon ses SendRawEmail,
我尝试使用以下代码:

session, err := session.NewSession()
svc := ses.New(session, &aws.Config{Region: aws.String("us-west-2")})

source := aws.String("XXX <xxx@xxx.com>")
destinations := []*string{aws.String("xxx <xxx@xxx.com>")}
message := ses.RawMessage{ Data: []byte(` From: xxx <xxx@xxx.com>\\nTo: xxx  <xxx@xxx.com>\\nSubject: Test email (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=\"sample.txt\"\\n\\nThis is the text in the attachment.\\n\\n--NextPart--" `)}
input := ses.SendRawEmailInput{Source: source, Destinations: destinations, RawMessage: &message}
output, err := svc.SendRawEmail(&input)

但在收到的邮件中,它显示的是我在邮件中提供的内容,而不是附件。不确定到底是什么错误???


问题答案:

请参阅AWS示例以发送带有附件的RAW电子邮件。

实施建议:如以上参考示例所述,为了易于编写电子邮件并以字节为单位获取电子邮件并将其发送到SES。

使用库gopkg.in/gomail.v2来编写带有附件的电子邮件,然后调用WriteTo方法。

var emailRaw bytes.Buffer
emailMessage.WriteTo(&emailRaw)

// while create instance of RawMessage
RawMessage: &ses.RawMessage{
    Data: emailRaw.Bytes(),
}

祝好运!

编辑: 对于评论。

撰写电子邮件-

msg := gomail.NewMessage()
msg.SetHeader("From", "alex@example.com")
msg.SetHeader("To", "bob@example.com", "cora@example.com")
msg.SetHeader("Subject", "Hello!")
msg.SetBody("text/html", "Hello <b>Bob</b> and <i>Cora</i>!")
msg.Attach("/home/Alex/lolcat.jpg")

var emailRaw bytes.Buffer
msg.WriteTo(&emailRaw)

message := ses.RawMessage{ Data: emailRaw.Bytes() }

// Remaining is same as what you mentioned the question.


 类似资料:
  • 问题内容: 我找到了这个库,并设法以空电子邮件发送附件,但没有将文本和附件组合在一起。 https://github.com/sloonz/go-mime-message 如何做呢? 问题答案: 我最终自己实现了它:https : //github.com/scorredoira/email 用法很简单:

  • 本文向大家介绍Codeigniter实现发送带附件的邮件,包括了Codeigniter实现发送带附件的邮件的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Codeigniter实现发送带附件的邮件的方法。分享给大家供大家参考。具体分析如下: attach() 方法允许你的发邮件时带上附件,下面是演示代码 希望本文所述对大家基于Codeigniter的php程序设计有所帮助。

  • 在一个个人项目中,我遇到了一个TypeScript条件类型的问题。我对TypeScript文档中的条件类型有基本的了解。我希望下面的设置工作,但它给出了一个类型错误。 基本上,我试图为从磁盘加载的树节点定义一个接口。这意味着,由于缺少文件等原因,某些节点可能无法正确加载。因此,任何节点实现都可能包含或。 我希望方法的实现可以返回,因为接口是通过类型扩展

  • 问题内容: 我想编辑以下代码并发送带有附件的电子邮件。附件是一个pdf文件,在Linux环境中位于/home/myuser/sample.pdf下。我应该在下面更改什么? 问题答案: 在这种情况下,您使用电子邮件包创建了一条消息- 然后发送消息。 这里有几个示例-http: //docs.python.org/library/email- examples.html 更新 由于上述原因,更新链接会

  • 问题内容: 我在Go中实现了HTTP服务器。 对于每个请求,我需要为一个特定的结构创建数百个对象,并且我有大约10个这样的结构。因此,按照Go实现完成请求后,将对其进行垃圾回收。 因此,对于每个请求,将分配和释放大量的内存。 相反,我想实现内存池以提高分配端以及GC端的性能。 在请求开始时,我将从池中取出并在请求处理后放回去 从池实施方面 如何分配和取消分配特定类型结构的内存? 如何跟踪此内存已分

  • 本文向大家介绍php实现的发送带附件邮件类实例,包括了php实现的发送带附件邮件类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现的发送带附件邮件类的方法,是一个非常实用的功能。分享给大家供大家参考。具体方法如下: emailclass.php类文件如下: Demo示例文件如下: 相信本文所述对大家php程序设计的学习有一定的借鉴价值。