首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过LocalStack / AWS获取电子邮件

通过LocalStack / AWS获取电子邮件
EN

Stack Overflow用户
提问于 2020-06-09 18:28:45
回答 2查看 3.9K关注 0票数 6

我试图使用LocalStack进行端到端测试,但我无法阅读通过LocalStack/SES发送的电子邮件。有办法吗?

我希望我的Cypress e2e测试调用我的后端服务,后端服务编写一个包含链接的电子邮件,并通过LocalStack/SES发送电子邮件。然后,我希望我的e2e测试等待这封电子邮件,阅读其中发送的链接,然后继续。

我设法调用LocalStack的SES发送电子邮件,并且我知道支持LocalStack的moto库将发送的消息存储在内存中。有办法读那些信息吗?

EN

回答 2

Stack Overflow用户

发布于 2022-06-08 20:11:41

发送的消息可以通过服务API端点(GET /_local堆栈/ses)或从文件系统检索。

消息也保存到数据目录(DATA_DIR,请参阅配置)。如果数据目录不可用,则使用临时目录(TMPDIR)。这些文件被保存为ses/子目录中的JSON,并由消息ID组织。

参考资料:https://docs.localstack.cloud/aws/ses/

票数 2
EN

Stack Overflow用户

发布于 2021-07-03 11:04:42

Local堆栈使用Moto,Moto确实公开了检查发送的电子邮件的能力。在这里讨论。

https://github.com/spulec/moto/issues/1392

查看一下本地堆栈的代码,就不会发现它们公开了一个函数来访问这些信息。

https://github.com/localstack/localstack/blob/master/localstack/services/ses/ses_starter.py

您将需要向Local堆栈发出拉请求,并添加一个公开ses_backend或特别是sent_messages数组的函数。

从moto.ses导入ses_backend ses_backend.sent_messages

我不使用SES的本地堆栈,我是针对我们真正的质量保证测试环境(真正的SES)运行E2E测试的。在这种情况下,您可以使用以下之一。

你需要的是一种程序化的方式来阅读收件箱和检查电子邮件的标题,也许身体也是如此。

  1. Mailosaur这个API很容易与
  2. 一起使用,这符合我们的用例。除此之外,他们的销售反应来自/support。他们也有我们不使用的短信服务。

  1. MailSlurp https://www.mailslurp.com/,这是我们的第一选择,因为这是我们发现的第一个,而且看上去很不错。但我们试着联系他们却没有回复。他们还没有回复,我们发了六封电子邮件。

  1. MailTrap https://mailtrap.io/还有第三种服务,如果您使用JavaScript (请使用类型记录)作为基于REST的服务,则该服务是合适的。但是对于Java,REST的代码非常冗长,我并不是它的粉丝。但是如果你在JavaScript,这个选项是合适的。

每个价格都是可比的,MailTrap也有一个免费的选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62289515

复制
相关文章

相似问题

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