在 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
。