红联Linux门户
Linux帮助

Ubuntu 16.04安装配置msmtp

发布时间:2016-08-12 09:21:44来源:topspeedsnail.com作者:斗大的熊猫
Msmtp是兼容sendmail接口的邮件客户端,利用它可以在命令行下发邮件。
 
Ubuntu 16.04安装msmtp
$ sudo apt-get install msmtp msmtp-mta ca-certificates
 
配置msmtp
msmtp需要一个配置文件 ~/.msmtprc:
$ sudo vim ~/.msmtprc
 
Gmail邮箱:
defaults
# 是否使用TLS/SSL
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
# 帐户设置
account <MSMTP_ACCOUNT_NAME>
host smtp.gmail.com
port 587
auth login
user <EMAIL_USERNAME>
password <PASSWORD>
from <FROM_ADDRESS>
logfile /var/log/mmlog
# 默认使用的账号
account default : <MSMTP_ACCOUNT_NAME>
 
163邮箱:
account default
host smtp.163.com
port 25 
from xxx@163.com
auth login
tls off 
user xxx@163.com
password <PASSWORD>
logfile /var/log/mmlog
由于上面保存的是明文密码,为了安全可以更改文件权限。
 
测试:
$ msmtp -C ~/.msmtprc xxx@163.com
随便输入一些内容用ctrl+d结束,然后到邮箱看看有没有收到,如果这里提示错误按照错误代码找原因,或者看看上面的日志文件。
 
查看man帮助:
$ man msmtp
文档:http://msmtp.sourceforge.net/doc/msmtp.html
 
配置PHP使用msmtp发送邮件
php默认使用sendmail发送邮件,编辑PHP配置文件:
$ sudo vim /etc/php/7.0/apache2/php.ini
找到sendmail_path一行,去掉注释,然后设置为:
sendmail_path = "/usr/bin/msmtp -C /home/xxx/.msmtprc -a <MSMTP_ACCOUNT_NAME> -t"
重启Apache服务;使用msmtp发送邮件:
mail ('xxx@email.com', 'Email Subject', 'Email Body');
 
本文永久更新地址:http://www.linuxdiyf.com/linux/23244.html