使用 Postfix 通过 Java 发送电子邮件

Send email in via Java using Postfix

我目前正在开发基于 Java EE、JSF、EJB 等的 Web 应用程序。此应用程序部署在 Debian 7.6 上,并安装了 Postfix。

我可以使用类似这样的东西通过命令行发送电子邮件:

/usr/bin/mailx -s "SUBJECT" -a "From: from@email.de" to@email.de

到目前为止,这是有效的。

我的尝试是,使用这一行 运行 作为 Java 中的 linux 命令。那是对的吗?

我可以为此使用 JavaMail(通过后缀发送电子邮件)吗?如果可以,我该如何为此设置配置?

我真的很难处理我的网络应用程序的这一部分。也许你可以帮我找出最好的解决方案是什么。

您可以使用 ProcessBuilder class 从您的 Java 程序中执行 mailx 命令。如果您只想从 Java 程序中执行现有的 mailx 命令,则不需要使用 JavaMail(假设使用 postfix已经到位)

您需要了解 JavaMail 是一组 API(classes、接口、方法),允许您在 [=20] 中实现电子邮件功能=] 申请。您要么使用 ProcessBuilder 来执行 mailx 命令,要么完全放弃这个想法并使用 JavaMail API。你不要同时使用这两个。

我认为不需要使用 ProcessBuiler 和 运行 可执行命令来发送电子邮件,因为 JavaMail 已经为邮件 (sending/receiving) 客户端提供了 API,例如你的网络应用程序。假设您已经设置了一个像 SMTP 这样的邮件服务器,您可以按照教程 like this 来更加无缝地完成这项工作。