email - 使用azure servicebus对电子邮件进行排队

标签 email azure azureservicebus azure-servicebus-queues

我们刚刚将一些工作负载转移到了我目前正在管理的 Azure,我阅读了一些有关服务总线的内容,并且想知道是否可以使用它来对电子邮件进行排队

尽管使用自定义库,托管在 azure 中的应用程序会将其电子邮件发送到服务总线队列,其中一个或多个工作进程将从队列中挑选消息,然后通过邮件中继服务发送。

这将使我的开发人员摆脱我随时使用的邮件中继服务的详细信息,并且我还可以在发送之前对消息进行进一步处理,而无需开发人员更改其代码。

我的问题是,这是否可能,如果可以,是否可取,以及在实现这样的解决方案时需要注意什么。任何有关如何操作的指示也将不胜感激

最佳答案

是的,将消息添加到 Azure 服务总线队列是一个合理的解决方案,稍后由应用程序检索这些消息,该应用程序根据排队消息中的详细信息发送电子邮件。这是使用微服务方法解耦各种应用程序的好方法,以提供可在单个应用程序的不同部分甚至组织内的许多应用程序中使用的电子邮件发送服务。

需要注意的一件事是 Azure 服务总线队列中的消息大小确实有最大大小限制。根据电子邮件中发送的内容的长度,您需要将消息的详细信息存储在某个位置,可能是数据库或 Azure 表存储。然后,队列中的消息将包含一个标识符,例如 GUID,稍后当接收应用程序处理消息以发送电子邮件时,可以使用该标识符来查找消息详细信息。无论队列中的消息大小如何,电子邮件都可能会变得很长,因此使用此方法可能是您的最佳选择,这样您以后的实现就不会遇到问题。

关于email - 使用azure servicebus对电子邮件进行排队,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36008953/

相关文章:

java - 必须先发出 STARTTLS 命令。使用 Java 和 Google Apps 发送电子邮件

java - Azure函数无法找到具有给定输入的方法签名

Azure webjob - QueueTrigger 停止触发

azure - 如何删除和重命名已在 Azure 服务总线命名空间中创建的订阅筛选器?

.net - Azure服务总线: How to Renew Lock?

JavaMail - 如何发送带有图像的 html 内容

java - 为什么使用 apache-email 库时附件文件名损坏?

java - 为什么我的 Google App Engine 项目不发送电子邮件?

mysql - Azure 免费网站中的 MS-SQL 限制

java - 通过Java客户端连接Azure服务总线