使用 Linux 命令行发送邮件

mailx 与 sendmail 辨析

mailx 是邮件客户端。人们可以使用它编写邮件,然后把邮件传递给本地的邮件传输服务器。
sendmail 是邮件服务器。它可以与远端的邮件服务器通信,收发邮件。

它们工作的流程图大致如下:

工具安装

实验环境为CentOS 8, mailx 12.5, sendmail 8.15

  1. yum install mailx
  2. yum install sendmail

工具配置

  1. 配置/etc/hosts。在文件的末尾添加如下格式的数据行:
    本机ip 本机名(或域名)

  2. 配置/etc/mail.rc,使用外部smtp服务发送邮件。在文件的末尾添加如下数据行:
    set from=valid_user@qq.com # 发送邮件源邮箱
    set smtp=smtp.qq.com # smtp 服务的服务商地址
    set smtp-auth-user=valid_user@qq.com # 能使用 smtp 服务的合法用户账号,与from一致
    set smtp-auth-password=授权码 # 在邮件服务商的网站上可以设置,类似从第三方登录邮件服务的密码。

  3. systemctl restart sendmail 重启 sendmail 服务

邮件发送测试

往163邮箱中发送邮件

  1. mail -s 'mail test' valid_user@163.com < message.txt
原文地址:https://www.cnblogs.com/Bowu/p/shi-yong-linux-ming-ling-xing-fa-song-you-jian.html