如何在不使用服务器 SMTP 的情况下发送电子邮件?

如何在不使用服务器 SMTP 的情况下发送电子邮件?

我正在尝试编写一个计划作业,该作业将在从数据库导出一组数据后向一组用户发送带有附件的电子邮件。该作业将托管在服务器上。

我需要在服务器上运行某个程序来发送电子邮件。目前,还没有安装邮件服务器。我不想使用 SMTP,因为我不想在那里存储我的电子邮件帐户的密码(我不是唯一访问服务器的人)。

如果不采用 SMTP 账户,我还能怎样发送带附件的电子邮件?我见过一些服务器能够在没有正确电子邮件地址的情况下发送电子邮件,例如 root@localhost 或类似的地址。这可能吗?我该如何设置?

编辑:我之所以想到不使用 SMTP 发送电子邮件,是因为例如在 PHP 中,我可以不使用 SMTP 发送电子邮件。我还可以在电子邮件中添加自己的标题来控制地址的显示方式。

答案1

SMTP 服务器不需要身份验证。GMail 等服务和我自己的服务器需要身份验证,才能向域外的用户发送邮件。如果您在内部网内发送邮件,则不太可能需要身份验证。

有一些最小的 SMTP 中继服务器,例如 SSMTP,旨在无需完整安装即可发送外发电子邮件。Exim、Postfix 和 Sendmail 等全服务服务器可以配置为使用 Smarthost(中继)发送所有外发邮件。通常,这将是企业邮件服务器或 ISP 中继服务器,两者都不太可能需要身份验证。这两种解决方案都适用。

PHP、Perl 和 Java 等语言都有可直接连接到远程 SMTP 服务器的软件包。这允许它们从没有运行邮件服务器的主机发送电子邮件。通常,这些服务器会配置为连接到上述中继服务器。

确保发送地址合适。对于这种情况,您可能需要使用以下形式的地址[email protected]。使用客户端的域代替主机。客户端可能更喜欢不同的发送地址。您可能还需要一个Reply-To:包含了解系统的人的电子邮件地址的地址,尽管这可能需要长期维护。

答案2

既然您担心服务器上会列出您的个人电子邮件密码,那么为什么不在 Gmail 或其他主机上设置一个“虚拟”帐户并在其上启用 SMTP。然后您可以将密码存储到这个虚拟帐户中,以用作仅用于发送邮件的帐户。

相关内容