利用msmtp通过脚本发邮件
利用msmtp通过脚本发邮件
利用msmtp通过脚本发邮件
sedmail、postfix之类的软件是把服务器配置成一个邮件服务器发邮件,而msmtp则相当于一个邮件客户端(foxmail、outlook之类的客户端),我们可以向网易申请一个邮箱账号,通过简单的配置就可以设置出来。
安装。
wget http://pkgs.fedoraproject.org/repo/pkgs/msmtp/msmtp-1.4.29.tar.bz2/87cc6f37cb7a163ceb89382932e41535/msmtp-1.4.29.tar.bz2
tar xvf msmtp-1.4.29.tar.bz2
cd msmtp-1.4.29
./configure --prefix=/usr/local/msmtp
make && make install
配置。
mkdir /usr/local/msmtp/etc/
用vi打开msmtprc文件并且输入以下内容(vi /usr/local/msmtp/etc/msmtprc )
defaults
account jack
host smtp.163.com #网易的smtp服务器,也可以选择其它邮箱服务器和账号
domain 163.com
from jack@163.com #相应的邮箱账号
auth login
user jack@163.com
password jack123 #相应的密码
account default:jack
本来安装到这里就可以使用msmtp了,但通直接使用msmtp发现邮件只能显示主题和发件人,而内容却是一片空白(原因有待查找),所以通过mutt来引用msmtp发邮件。一般情况下mutt是系统默认安装的,如果系统中没有安装,可以通过yum -y install mutt来安装。
打开mutt配置文件并修改以下4项(vi /etc/Muttrc)。
1.set sendmail="/usr/local/msmtp/bin/msmtp"
2.set use_from=yes
3.set realname=jack@163.com #上面配置中的邮箱账号
4.set editor="vi"
至此,我们可以测试下用命令来发邮件了。
echo "邮件内容" | mutt -s "邮件主题" jack@163.com
或者可以把邮件内容写在文件中:cat file.txt|mutt -s "邮件主题" jack@163.com
在脚本中使用mutt这个命令,使可以实现自动发送邮件。
评论暂时关闭