我想通过远程SMTP服务器发送电子邮件。如何才能做到这一点?我将从bash shell脚本发送电子邮件。UNIX:使用SMTP服务器发送邮件
我正在使用unix机器。 uname -a
回报:
Linux linux 2.4.21 BrandZ fake linux i686 athlon i386 GNU/Linux
我想通过远程SMTP服务器发送电子邮件。如何才能做到这一点?我将从bash shell脚本发送电子邮件。UNIX:使用SMTP服务器发送邮件
我正在使用unix机器。 uname -a
回报:
Linux linux 2.4.21 BrandZ fake linux i686 athlon i386 GNU/Linux
直接接触远程SMTP服务器通常不这样做的方式。例如,如果服务器暂时不可用?
更简单的方法是运行本地邮件服务器(如postfix,exim或qmail),并将其设置为通过远程服务器发送邮件。然后,您可以使用命令行sendmail
发送您的电子邮件。
在Ubuntu的后缀,我把master.cf如下:
relayhost = [smtp.my-isp.com]
smtp_generic_maps = hash:/etc/postfix/generic
您需要的最后一行的情况下,你的ISP的邮件服务器要求所有外发邮件从[email protected]
起源。然后,你还需要在/ etc /后缀/通用这样的:
[email protected] [email protected]
添加其他变体在必要时(如[email protected]
)。
mailx
命令可用于非交互式发送电子邮件, 但经典实现与本地邮件传输代理进行通信。 有简单的MTA,它只会通过远程SMTP服务器发送电子邮件, ,并且不会接受任何本地电子邮件。
另一种解决方案是使用heirloom-mailx
, (以前称为nail
我觉得) 它支持聊天到SMTP服务器,而不是直接使用本地MTA。 例如,你可以按照以下方式调用它:
heirloom-mailx -S smtp=smtp.your-isp.com \
-S [email protected] \
-s "subject" <<EOM
Hello, $name,
This is an automatic reminder, sent out once a month, ...
[the rest of your message]
EOM
我不知道它是否仍然有效..但你可能wanne使用Telnet。至少你应该可以用它写一个bash脚本