gpt4 book ai didi

java - Java Web 应用程序中的异步电子邮件处理

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:26:36 25 4
gpt4 key购买 nike

我想在用户注册新帐户时在我的 Web 应用程序中实现异步电子邮件发送。这样一来,如果在发送电子邮件时出现问题或延迟(例如,邮件服务器已关闭或与邮件服务器的网络连接速度很慢),用户将不会一直等待发送完成。

我的网络应用程序是使用 Spring 和 Hibernate 的 JPA 实现构建的。

对于我来说,在此 Web 应用程序中实现异步电子邮件处理的最佳和最可靠的方法是什么?

我正在考虑将电子邮件信息保存在数据库表中,然后由 Quartz ( http://www.opensymphony.com/quartz/ ) 计划作业定期轮询更新,当它发现新的未发送电子邮件时,它会尝试发送它们。

这是实现我想要的东西的合理方式吗?

谢谢。

编辑:

投票最多的响应是将邮件发送保留为同步调用,但触发我认为异步方法可能是最好的是我目前正在使用 GMail 作为我的出站邮件服务器(这是为了测试,而开发中),并且从我的应用程序尝试发送电子邮件到对邮件发送函数的调用返回,我遇到了 25 秒的响应延迟。你怎么看?

最佳答案

我建议你不要打扰。大多数 Unix 风格的 MTA 在几十年前发明并完善了延迟发送,您不应该重新发明轮子。你会做得很差(与 sendmail 或 postfix 相比),你会错过一些东西。我最好的建议是使用 Java Mail APIS javax.mail 并让 MTA 处理异步部分。

关于java - Java Web 应用程序中的异步电子邮件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2622721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com