【问题标题】:Send email in via Java using Postfix使用 Postfix 通过 Java 发送电子邮件
【发布时间】:2015-06-24 13:37:49
【问题描述】:

我目前正在开发一个基于 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(通过 postfix 发送电子邮件)吗?如果可以,我该如何为此设置配置?

我真的在为我的 web 应用程序的这一部分而苦苦挣扎。也许你可以帮我找出最好的解决方案是什么。

【问题讨论】:

    标签: java email postfix-mta


    【解决方案1】:

    您可以使用ProcessBuilder 类在您的Java 程序中执行mailx 命令。如果您只想在 Java 程序中执行现有的 mailx 命令,则不需要使用 JavaMail(假设使用 postfix 发送电子邮件所需的所有基础设施都已到位)

    您需要了解 JavaMail 是一组 API(类、接口、方法),允许您在 Java 应用程序中实现电子邮件功能。您要么使用ProcessBuilder 来执行mailx 命令,要么完全放弃这个想法并使用JavaMail API。您不能同时使用这两种方法。

    【讨论】:

    • 是的,postfix 已正确配置和安装(我没有这样做!:)) 有没有办法将 JavaMail 与 postfix 结合使用?如果没有,ProcessBuilder 是最好的选择,不是吗?
    • 完美!糟糕的是,我需要使用 Postfix。
    • 仅供参考:我现在正在使用 JavaMail。 Postfix 使用 smtp 服务器来发送电子邮件。我不知道。我问过服务器管理员,他说这两个选项都是有效的(通过 postfix 发送电子邮件并运行 linux 命令)或使用 JavaMail。
    【解决方案2】:

    当 JavaMail 已经为邮件(发送/接收)客户端(例如您的 webapp)提供了 API 时,我认为不需要使用 ProcessBuiler 并运行可执行命令来发送电子邮件。假设您已经设置了类似 SMTP 的邮件服务器,您可以按照教程 like this 进行更无缝的操作。

    【讨论】:

    • 我需要调用这个mail 命令。使用 JavaMail 可以吗?安装了 Postfix,是 SMTP-Server 吗?
    • 哦,我以为你'需要发送电子邮件'。如果您需要通过 web 应用程序发送电子邮件,并且您在可以访问的某个地方安装了 postfix,那么可以,JavaMail 可以提供帮助。
    • 好吧,我终于让它工作了。我在 postfix 配置中找到了一个邮件服务器。这很简单!谢谢你的提示!
    • 我想你没有回答这个问题,他和我有同样的疑问,他想知道如何使用 JavaMail 发送电子邮件(SMTP)但不是直接发送你发送的想法后缀。
    • @KedarMhaswade 你能解释一下如何从java调用到postfix吗?谢谢!
    猜你喜欢
    • 2016-12-27
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    相关资源
    最近更新 更多