利用mutt和msmtp实现邮件自动发送功能

 

mutt是一个MUA(邮件用户代理),类似foxmailoutlook,是不负责发送接收邮件的,如果要发送邮件需调用msmtpmsmtp实现了MTA的功能,比起sendmail来方便了不少。

使用环境:CentOS5.3

1)安装muttmsmtp

mutt使用CentOS45自带的版本即可。

rpm -ivh mutt-1.4.2.2-3.0.2.el5.x86_64.rpm

安装msmtp,下载地址http://sourceforge.net/projects/msmtp

tar xjf msmtp-1.4.19.tar.bz2

cd msmtp-1.4.19

./configure

make

make install

默认msmtp被放在/usr/local/bin/下。

2)设置MUTT

系统全局设置使用/etc/Muttrc,也可以在用户的~/.muttrc(新建)中设置。

vi .muttrc

set sendmail="/usr/local/bin/msmtp"

set use_from=yes

set realname="yourname"     #就是邮件发件人姓名

set [email protected]

set envelope_from=yes

3)设置MSMTP

创建~/.msmtprc~/.msmtp.log,分别为配置和日志文件。

vi .msmtprc

account default

host smtp.domain.com    smtp服务器域名或ip

from [email protected]

auth off                #这里关闭认证,根据smtp支持的认证方式修改

user test               #邮件账号,不包括@后面的域名

password ******         #邮件密码

logfile ~/.msmtp.log    #邮件发送和错误日志

可用的auth方法有plaincram-md5digest-md5gssapiexternalloginntlm。对于smtp服务器需要验证的情况,应该设置为login,而不是on让msmtp自动判断,设为on会报cannot use a secure authentication method的错误。

由于password是明码,所以我们需要修改此文件的权限:

chmod 600 .msmtprc

touch ~/.msmtp.log

4)测试

echo "test" |mutt -s " first_test" [email protected]

其实mutt还可以用来发送附件以及HTML的邮件,可以说功能还是很强大的。

观察.msmtp.log日志文件,如果有错会在日志文件中被报告出来,当然,成功发送的日志也会出现在此日志文件内。

5)错误FAQ

Error sending message,child exited 78 ().

请严格配置好mutt的配置文件。

你可能感兴趣的:(邮件,职场,Mutt,msmtp,休闲)