从控制台发送电子邮件的标准和便携式方式?

从控制台发送电子邮件的标准和便携式方式?

在 Linux(可能还有 Unix)上从控制台或脚本发送电子邮件的最便携或标准的方法是什么?

答案1

为此,您可以使用mailx命令。下面是一个使用示例:

mailx -v -s "Subject" -S smtp-use-starttls -S ssl-verify=ignore -S smtp-auth=login -S smtp=smtp://<server_name>:25 -S from="[email protected]" -S smtp-auth-user=<username> \
-S smtp-auth-password=<password> [email protected]

此示例使用 SSL 和 SMTP 身份验证。

答案2

如果您想要标准的可移植性,请使用mailx。和命令很常见,但不是标准的,并且在mail不同Mail的 UNIX 系统(包括同一 Linux 发行版的安装之间)可以有非常不同的选项。只有少数选项mailx是标准化的;例如,如果您想要自定义标头,那么您就不走运了。

请注意,这仅在配置了 UNIX 邮件系统时才有效(必须至少sendmail配置一个命令来与本地或远程 MTA 通信)。通常可以假设这种情况发生在具有称职管理员的服务器上。在台式计算机上,电子邮件通常由用户在每个电子邮件客户端中配置。

答案3

如果您假设机器的 sendmail 配置正确,您可以简单地使用

mailx -s Subject [email protected] < myemail.txt

与其他答案相比,它的便携性更高,也更差。一方面,必须在机器上配置sendmail。另一方面,如果它配置,那么将使用正确的设置,而不是一些任意的设置。

编辑:变成mail标准mailx

相关内容