Linux部署msmtp+mutt发送邮件功能

2019-10-10 13:00:54于丽

3.2 make && make install,编译并安装,这两步也可以分开执行

4. 在安装目录/usr/local/msmtp/下新建etc目录,并在etc目录下创建msmtp文件,该文件用于配置邮件发送的一些基本信息。

mkdir –p /usr/local/msmtp/etc
vim /usr/local/msmtp/etc/msmtprc
#添加如下内容:
account default 
host smtp.163.com   
port 25
from xxx@163.com //按照实际情况填写真实的163邮箱
auth login
tls off
user xxx  //邮箱用户名,是xxx而不是xxx@163.com  
password xxx //需要注意的是这里的密码有可能是授权码,比如163邮箱的话这里就必须填授权码,如下图  
logfile /var/log/mmlog

注:正如前面所说的,msmtp+mutt的组合跟Foxmail一样,是邮件客户端。我们知道,Windows下利用Foxmail发送邮件的话,当然首先需要用你的某个账号登录上Foxmail了,然后才能在该客户端下新建邮件发送。那么这一步该文件配置的作用,我的理解就是在linux下用你的某个账号登录msmtp客户端。这里我用的是163网易邮箱,若是想用QQ邮箱,则需要另行修改。

测试时的配置如下:

(注:截图当中的目录有点混乱,是实际生产环境中部署的安装目录,不是上面执行./configure命令时--prefix参数指定的/usr/local/msmtp,不过没关系,只要记住,该文件实际是在prefix参数指定的安装目录下的!)

5. 给日志文件赋权限:

chmod 777 /var/log/mmlog

6.给配置文件msmtprc文件赋权限,因为该文件中有邮箱的明文密码,所以要设置成非可读的。

chmod 600 msmtprc

7.此时可以 /usr/bin/目录做一个关于/usr/local/msmtp/bin/msmtp的软连接,这样在服务器上任意位置都可以直接敲msmtp命令来执行msmtp

ln -s /usr/local/msmtp/bin/msmtp /usr/bin/msmtp

8.测试msmtp(同样的,邮箱地址视实际情况而定,不过必须得跟上面的/usr/local/msmtp/etc/msmtprc配置文件中的邮箱相同)

(1)若没做第7步的软连接,则是:

/usr/local/msmtp/bin/msmtp xxx@163.com hello,test ctrl d

(2)若做了软连接,那么测试的命令可以为:

msmtp xxx@163.com hello,test ctrl d
# 查看日志有无成功 cat /usr/local/msmtp/msmtp.log
# 查看163邮箱,看看信收到没有。