java - 如何使用 Amazon SQS 和 SNS 发送多封电子邮件?

标签 java amazon-web-services amazon-sqs amazon-sns

在我的 JAVA 应用程序中,我使用 Amazon SQS 和 SNS;我执行了以下步骤:

第 1 步:我将消息推送到 SQS,例如,

SendMessageResult aSendMessageStatus = Amazon_SQS_Client.sendMessage(new SendMessageRequest().withQueueUrl(AWS_SQS_URL).withMessageBody(theRequestString));

第 2 步:在 SNS 中创建主题,例如,

CreateTopicResult createRes = Amazon_SNS_Client.createTopic(createReq);

第 3 步:现在我尝试通过接收来自 SQS 的消息向 100 位客户发送电子邮件。

有人可以建议我如何在 SNS 中订阅该主题并将电子邮件发送到多个电子邮件地址。

最佳答案

要使 SNS 传递消息,第 100 个电子邮件地址必须订阅该主题。电子邮件地址将收到确认消息,他们必须回复该消息。

对于您的场景,另一个选择可能是使用队列服务。它可以通过多种方式完成。我的设置如下:

  1. 应用程序组件向队列发送消息
  2. 另一个应用程序组件轮询队列,检索消息
  3. 根据消息撰写电子邮件并使用 SES 服务发送电子邮件。

另一种选择是使用 SNS -> SQS -> SES 设置,其中初始通知发送到 SNS,SNS 将通知传递到 SQS。

通知消息本身不必是完整的电子邮件消息。它可能只是对内容和要向其交付内容的人员的引用。您的应用程序可以负责形成完整的消息。

对于将电子邮件传递给一般应用程序用户的场景,我认为 SES 是正确的解决方案,而不是 SNS。

关于java - 如何使用 Amazon SQS 和 SNS 发送多封电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18097642/

相关文章:

java - 代理 servlet 在 HttpClient.execute() 上挂起

JavaFx 2.0 : Controlling the Z-Order of Stage elements

java - 如何在java中获取S3中文件的最新时间

amazon-web-services - 尝试连接到 sqs 时 AWS Lambda 超时

java - 在 View 上使用线程和绘图 Canvas 的空指针,android 初学者,包括 logcat

java - 如何使用 Google Adwords API 获取一组关键字的可能展示位置列表?

amazon-web-services - AWS::CloudFormation::Init 是如何工作的?

amazon-web-services - 让 AWS 在 80 端口上监听 Spring Boot 应用程序

node.js - SQS 到 Lambda + SES

java - 如何强制 AmazonSQSBufferedAsyncClient 刷新消息?