Java 从 JavaEE 应用程序中的不同 SMTP 服务器发送电子邮件

标签 java email glassfish smtp

我目前正在开发一个 JavaEE 应用程序,我必须实现一项功能,即用户可以将自己的 SMTP 服务器定义为通知邮件的发件人。我已经有一个应用程序可以执行相同的任务,但是是在标准 JavaSE 应用程序中。我做了一些研究,发现我们正在使用的应用程序服务器(Glassfish 3.X)在邮件服务器的管理面板中有一个配置菜单。所以我的问题是:从 JavaEE 和普通 JavaSE 应用程序发送邮件有什么区别?来自 JavaSE 应用程序的工作源是否也应该在我的企业应用程序中工作?

最诚挚的问候

最佳答案

考虑在应用程序服务器中定义 javamail session 是为了方便,该功能通过将服务配置从应用程序中拉出并放入应用程序服务器来帮助标准化应用程序实例的配置。

但是,没有什么可以阻止您在应用程序服务器中使用手动和动态定义的 javamail session 。

那么,在您的 SE 程序中,您将配置邮件 session ,以

结尾
// typically a set of
properties.put("mail.smtp.port", "25");
// that are used to configure the Session
Session session = Session.getDefaultInstance(properties);

您通常会发现

@Resource(lookup = "sessionAsDefinedInGF")
private Session session;

在 EE 应用程序中。从那时起,两个程序可以是相同的,在后者中, session 对象的整个初始化和管理将由应用程序服务器执行。

但是如上所述,虽然后者在大多数情况下更方便,因为配置是在应用程序之外的,但如果您执行前者,即 SE 风格的 session 手动配置,那么没有什么会阻止您。

关于Java 从 JavaEE 应用程序中的不同 SMTP 服务器发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26174170/

相关文章:

macos - 在 Mac OSX 上使用 Homebrew 软件安装 Glassfish、Wildfly

mysql - GlassFish 5 和 MySQL 连接器

java - C++ 中的 Gsoap 错误

java - 需要 Java 建议来处理未索引文件中存在的数十亿条记录

java - 如何使用 gson.fromjson 递归地转换 json

email - Google Analytics - 电子邮件跟踪像素/信标

css - 如何防止 Gmail 应用程序解析地址并将链接插入到我的电子邮件正文中?

php - 如何使用 UTF-8 编码发送电子邮件?

java - 从命令行到 GUI

maven - 使用 NetBeans 和*远程* Glassfish 进行增量/即时/热部署