mutt命令执行了却发送不了邮件, 搜索了一会才明白原来是mutt需要一个发信的程序, msmtp刚好是一个不错的选择.
1. apt-get install mutt msmtp
(安装过程中会弹出Postfix的配置向导,这一步选择No Configuration即可)
2. ~/.muttrc & ~/.msmtprc 是当前用户的配置信息, 如果不加则会使用全局配置: /etc/Muttrc (msmtprc暂时找不到该文件, 不知为何?)
3. vi ~/.muttrc
在最后加上:
set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="zhang_san" ##发件人名字
set from=zhang_san@abc.cn ##发件人地址
set envelope_from=yes
4. vi ~/.msmtprc, 然后修改此文件的权限为600
defaults
port 587
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
account freemail
host smtp.partner.outlook.cn
from chen_dong@abc.cn
auth on
user zhang_san@abc.cn
password XXXXXXX
logfile ~/.msmtp.log
account default : freemail
5. 测试
echo "hello world" | mutt -s "title" chen_dong@abc.cn
2015-9-1更新:
其实如果只是想实现发送邮件的功能, 则无需mutt的帮助, 通过msmtp -t receiver@abc.cn即可。
http://muttrcbuilder.org/
http://www.mutt.org/doc/manual/manual-6.html
以上两个网站和muttrc文件有关.
http://msmtp.sourceforge.net/doc/msmtprc.txt
以上这个网站是msmtprc的示例文件.
附上世纪互联版Office 365的SMTP信息:
chen@ubuntu1404:~$ msmtp --host=smtp.partner.outlook.cn --serverinfo --tls=on --tls-trust-file=/etc/ssl/certs/ca-certificates.crt
SMTP server at smtp.partner.outlook.cn ([42.159.163.194]), port :
SH2PR01CA024.partner.outlook.cn Microsoft ESMTP MAIL Service ready at Tue, Jul :: +
TLS certificate information:
Owner:
Common Name: partner.outlook.cn
Organization: Shanghai Blue Cloud Technology Co. Ltd
Organizational unit: Office365
Locality: Shanghai
State or Province: Shanghai
Country: CN
Issuer:
Common Name: WoSign Class OV Server CA G2
Organization: WoSign CA Limited
Country: CN
Validity:
Activation time: Tue Jul :: PM CST
Expiration time: Fri Jul :: PM CST
Fingerprints:
SHA1: B5:BB::D6:2B:8F:9E:A7:6A:CC::C4:FF:::D2:0E:9B::
MD5: :6E::6A:FB:7C:::1A:8D::CC:ED:7F::
Capabilities:
SIZE :
Maximum message size is bytes = 150.00 MiB
PIPELINING:
Support for command grouping for faster transmission
DSN:
Support for Delivery Status Notifications
STARTTLS:
Support for TLS encryption via the STARTTLS command
AUTH:
Supported authentication methods:
LOGIN