首页 > 代码库 > 使用mutt+msmtp在Linux命令行界面下发邮件(续)

使用mutt+msmtp在Linux命令行界面下发邮件(续)

换了新工作,好久没有更新博客了,今天继续。一年前写过一篇《使用mutt+msmtp在Linux命令行界面下发邮件》,但是最近想照着文中的办法解决新的问题时发现又有新的疑惑了,所以就有了今天这篇“续集”。

首先说说msmtp。如果你仅仅想在Linux下发送邮件,那么只靠它就能实现了,只需要配置好如何连接到相应的SMTP服务器即可,以下我就以腾讯企业邮为例,说一下具体的步骤(以下皆为root用户):

1. apt-get install msmtp

2. vi ~/.msmtprc && chmod 600 ~/.msmtprc

defaultsauth ontls ontls_starttls off    #这个必须显式声明,折腾好久tls_trust_file /etc/ssl/certs/ca-certificates.crtaccount freemailhost smtp.exmail.qq.comport 465from chend@qq.com.cnuser chend@qq.com.cnpassword XXXXXXlogfile ~/msmtp.logaccount default : freemail

3. 测试:echo "a test mail." | msmtp --debug --file=./.msmtprc 1234567@qq.com

 

接下来说说mutt。mutt是一个邮件客户端,不过我猜测它无法单独实现发送邮件的功能,必须依赖类似msmtp这样的工具,反正网上基本都是这两者的结合使用。我将采用编译源代码的方式来安装mutt,原因是通过apt-get的方式会将Postfix一起装上。以下是具体步骤(以下皆为root用户):

1. apt-get install libncurses5-dev

2. ./configure --prefix=/usr/local && make && make install

3. vi ~/.muttrc    # 默认的muttrc文件在这里:/usr/local/etc/Muttrc

set sendmail="/usr/bin/msmtp"set realname="监控系统"set use_from=yesset editor="vi"

4. 测试:echo "邮件正文" | mutt -s "邮件主题" 1234567@qq.com

 

附上腾讯企业邮的SMTP信息:

root@ubuntu:~# msmtp --host=smtp.exmail.qq.com --serverinfo --tls=on --tls-trust-file=/etc/ssl/certs/ca-certificates.crtSMTP server at smtp.exmail.qq.com ([183.57.48.39]), port 25:    smtp.qq.com Esmtp QQ Mail ServerTLS certificate information:    Owner:        Common Name: pop.qq.com        Organization: Shenzhen Tencent Computer Systems Company Limited        Organizational unit: R&D        Locality: Shenzhen        State or Province: Guangdong        Country: CN    Issuer:        Common Name: GeoTrust SSL CA - G3        Organization: GeoTrust Inc.        Country: US    Validity:        Activation time: Tue 06 Sep 2016 05:00:00 PM PDT        Expiration time: Fri 07 Dec 2018 03:59:59 PM PST    Fingerprints:        SHA1: 45:62:5E:9F:41:60:97:3F:18:E9:FA:53:FE:A5:DA:03:0C:58:55:4C        MD5:  DE:DF:05:9C:22:71:F0:91:83:D0:0B:A8:01:04:06:82Capabilities:    SIZE 73400320:        Maximum message size is 73400320 bytes = 70.00 MiB    PIPELINING:        Support for command grouping for faster transmission    STARTTLS:        Support for TLS encryption via the STARTTLS command    AUTH:        Supported authentication methods:        PLAIN LOGIN 

 

使用mutt+msmtp在Linux命令行界面下发邮件(续)