CentOS 6使用mutt+msmtp发送邮件
358 views
0
CentOS系统下如果希望向外域发送邮件,需要配置sendmail+dovecot等一系列工具。其实不用这么麻烦,只要mutt+msmtp就可以实现向外域发送邮件的功能了。
本文基于CentOS6 64bit
1,安装配置msmtp
$ yum install gcc gcc-c++ gnutls gnutls-devel gnutls-utils openssl openssl-devel libidn libidn-devel -y $ wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2 $ tar -jxvf msmtp-1.4.32.tar.bz2 $ cd msmtp-1.4.32 $ ./configure --prefix=/usr/local/msmtp $ cd msmtp-1.4.32 $ make && make install $ mdkir /usr/local/msmtp/etc
生成配置文件
$ cat >>/usr/local/msmtp/etc/msmtprc<<EOF
直接复制以下内容粘贴在>号的位置即可
defaults tls on logfile /usr/local/msmtp/msmtp.log account acc1 host smtp.163.com port 25 from hello@163.com auth login tls off user hello@163.com password mypasswd account acc2 host smtp.qq.com port 465 from 123456@qq.com auth login tls_starttls off tls on tls_certcheck off user 123456@qq.com password mypasswd account default : acc2 EOF
配置文件里面有一些需要注意的地方:
QQ邮箱不支持tls,使用QQ邮箱需要关闭tls_starttls,
网易免费邮箱的ssl证书通不过验证,所以使用163邮箱时,只能关闭tls证书验证。
该配置文件不支持中文,也不能粘贴中文注释,否则必报错。
2,安装配置mutt
$ yum install mutt -y $ cat >>/etc/Muttrc<<EOF
直接复制以下内容粘贴在>号的位置即可
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=no
set realname="12345@qq.com"
set editor="vim"
EOF
3,功能测试
$ echo "这里是正文" |mutt -s "这里是标题" my@163.com
不出意外,应该是可以收到邮件了。执行这条命令如果超过5s没有反应,说明msmtprc文件中的default帐户配置有误。可以先执行ps -ef | grep mutt找出进程号kill之,然后修改msmtprc文件中的相关配置以后再试。
参考推荐:
linux shell 发送email 邮件 (mail,sendmail,formail 三种方式)
linux shell 发送email 附件 (mutt 方式,推荐)
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2015-06-03 03:12:05
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!