你是否为自己内网测试机无法向外网发送邮件而苦恼,这个工具会让你的这个想法实现起来easy! 记得以前我在搭建个个环境,有时就需要邮件功能,但自己的小环境又没域名解析等等,根本就没办法测试通信!就算你有mail这些也局限于你自己的这个内网环境。msmtp很棒,其实windows上也有个此相同的小工具。
msmtp是啥:msmtp 是一个SMTP 客户端
在默认情况下,它把邮件送给负责发邮件的SMTP 服务器(如:免费邮箱供应商)。
你需要手工建立一个含邮件账号信息的配置文件,并且让MUA(邮件客户端)启用msmtp 而不是/usr/sbin/sendmail ,这样才能使邮件客户端软件与msmtp 更好的协同工作。
更多内容可以到:http://msmtp.sourceforge.net/查看
正文内容:
先安装依赖,我直接yum安装mutt
yum install opsenssl mutt libntlm libgsasl
下载msmtp
http://sourceforge.net/projects/msmtp/files/msmtp/
下载msmtp
http://cdnetworks-kr-1.dl.sourceforge.net/project/msmtp/msmtp/1.4.27/msmtp-1.4.27.tar.bz2
解压
tar jxvf msmtp-1.4.27.tar.bz2 -C /usr/local/src/ mkdir /usr/local/msmtp
安装
[root@kinggoo.com ~]#cd /usr/local/src/msmtp-1.4.27 [root@kinggoo.com msmtp-1.4.27]# ./configure --prefix=/usr/local/msmtp --with-ssl=openssl ## 有些可能需要openssl [root@kinggoo.com msmtp-1.4.27]# make && make install #安装成功 [root@kinggoo.com msmtp-1.4.27]#cd /usr/local/msmtp/bin [root@kinggoo.com bin]# ./msmtp --version msmtp version 1.4.27 Platform: x86_64-unknown-linux-gnu TLS/SSL library: OpenSSL Authentication library: built-in Supported authentication methods: plain cram-md5 external login IDN support: disabled NLS: enabled, LOCALEDIR is /usr/local/msmtp/share/locale Keyring support: none System configuration file name: /usr/local/msmtp/etc/msmtprc User configuration file name: /root/.msmtprc Copyright (C) 2012 Martin Lambers and others. This is free software. You may redistribute copies of it under the terms of the GNU General Public License < . http. gpl.html licenses www.gnu.org >. There is NO WARRANTY, to the extent permitted by law.
创建msmtp配置文件,输入外部smtp地址
[root@kinggoo.com msmtp-1.4.27]# mkdir /usr/local/msmtp/etc [root@kinggoo.com msmtp-1.4.27]# cd /usr/local/msmtp/etc [root@kinggoo.com etc]# touch msmtprc [root@kinggoo.com etc]# vim msmtprc account default host mail.kinggoo.com # 邮箱的服务器地址 port 25 # 端口 from kinggoo@kinggoo.com.cn # 用户名 auth login # 必须得是login,如果是on的话请看下面错误提示 tls off user kinggoo@kinggoo.com # 邮箱帐号 password 123456 #邮箱密码 logfile /var/log/mmlog 保存退出 ## 以上你可以改成163的邮箱等等
可以测试一下发信
/usr/local/msmtp/bin/msmtp kinggoo.com@kinggoo.com test ctrl+d
看下日志文件或者到对方邮箱查看有没有收到就可以了
/////////////////////
现在配置mutt了,强大的东西,前面已经安装好了mutt直接配置吧
可能找不到~/.muttrc,如果没有可以
cp /etc/Muttrc ~/.muttrc vim /etc/Muttrc.local
在最后加入
set sendmail='/usr/local/msmtp/bin/msmtp' set use_from=yes set realname='SVN服务' set from=kinggoo.com@kinggoo.com set envelope_from=yes auto_view text/html set charset='utf-8' set send_charset='utf-8' set locale = 'zh_CN.UTF-8' #set content_type = 'text/html\;charset=utf-8' set rfc2047_parameters=yes
测试一下mutt和mstmp吧
echo "测试test"|mutt -s "mstmp,mutt中文" admin.com@kinggoo.com
看下日志文件或者到对方邮箱查看有没有收到就可以了
错误信息:
运行msmtp时提示
msmtp: cannot use a secure authentication method
msmtp: could not send mail (account default from /usr/local/msmtp/etc/msmtprc)
解决办法:
修改/usr/local/msmtp/etc/msmtprc内
auth on将其修改为auth login
=================================
参考文献:
http://xhc.me/wp-content/uploads/mutt/manual_1.5.19_zh.html
又是骗 外链的