Ubuntu 16.04 使用mailutils和ssmtp通过命令行发送邮件

    技术2022-08-01  78

    实现的功能:简单地从命令行发送邮件(不接收邮件)

    大体步骤:依次安装 mailutils和ssmtp,配置ssmtp,然后就可以实现邮件发送功能了。

    具体安装配置过程:

    sudo apt install mailutils

    在安装mailutils的过程中,同时会自动安装Postfix,配置画面如下:

    Postfix功能很强大,但它的配置过程我看不懂,我只是想利用命令行发邮件而已,因此我在上图Postfix Configuration中选择了No configuraiton。

    完成后接下来安装ssmtp:

    sudo apt install ssmtp

    ssmtp安装好之后要配置两个文件:/etc/ssmtp/ssmtp.conf, /etc/ssmtp/revaliases

    我们以163邮箱📮为例,介绍这两个文件的配置:

    sudo vim /etc/ssmtp/ssmtp.conf ---------------------------------- # 添加以下内容 root=username@163.com mailhub=smtp.163.com:465 AuthUser=username@163.com AuthPass=xxxxxxxx # 这个密码不是邮箱的密码,而是网易邮箱的授权码 UseTLS=Yes ---------------------------------- sudo vim /etc/ssmtp/revaliases ---------------------------------- # 添加以下语句 jiaxin:username@163.com:smtp.163.com:465 # jiaxin是当前电脑的用户名 ----------------------------------

    至此,所有的配置工作都完成了,发个邮件测试一下。

    echo "test" | mail -s "test" xxxxxxx@qq.com

    如果使用mail命令发送邮件失败的话,使用以下语句查看mail日志,进一步排查原因。

    vim /var/log/mail.err
    Processed: 0.014, SQL: 9