关于阿里云ECS服务器配置已经在另外的博客更新:
Linux下可以直接用mail命令发送邮件,但是发件人是user@servername,如果机器没有外网的dns,其他人就无法回复。此时,有一个可以使用网络免费邮箱服务的邮件发送程序就比较重要了。msmtp就是这样的一个程序。
#1、下载源码包
wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2
#2、解压
tar -jxvf msmtp-1.4.32.tar.bz2 && cd msmtp-1.4.32
#build and install
./configure --prefix=/usr/local/msmtp && make && make install
#link to /usr/bin
ln -s /usr/local/msmtp/bin/msmtp /usr/bin/msmtp
#3、新建msmtp的配置文件
mkdir /usr/local/msmtp/etc && vim /usr/local/msmtp/etc/msmtprc
#4、输入如下内容
# Set default values for all following accounts.
defaults
logfile /var/log/msmtp/msmtp.log
# The SMTP server of the provider.
account 163
# SMTP邮件服务器地址
host smtp.163.com
# 发送的邮件Email
from user@163.com
auth login
tls off
# 邮件服务器登录账号
user user@163.com
# 邮件服务器登陆密码
password password #这里的密码应该是163邮箱的独立授权密钥
# Set a default account
account default : 163
#############################################
报错:550 user is lock -->需要添加 tls off
authentication failed (method LOGIN)
将password修改为163服务器开启smtp服务时生成的客户端独立授权密钥
#############################################
#5、测试msmtp是否配置正确
msmtp test@163.comtest [ctrl+d]
#6、安装配置mutt
yum install -y mutt
vim /etc/Muttrc
#输入如下内容:
set sendmail='/usr/bin/msmtp'
set use_from=yesset realname='YOURNAME'
set from=user@163.comset envelope_from=yes auto_view text/htmlset 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
vim /etc/Muttrc.local
# Local configuration for Mutt.
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="user@163.com"
set editor="vim"
#6、配置完毕,测试一下吧!
echo "Test"|mutt -s "test" user@163.com 收到测试邮件即为成功! =========================================== 报错:Error sending message, child exited 127 (Exec error.). Could not send the message.