CentOS Linux release 7.6.1810
使用 QQ SMTP 发送邮件
安装 Mailx
$ yum install mailx
开启 SMTP 并获得授权码
登录邮箱 - 设置 - 账户
1.开启 SMTP
2.获得 SMTP 授权码 (需要手机验证)
设置 mail.rc
设置发送者的邮箱信息
set from=XXXXXXXX@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=XXXXXXXXX@qq.com
set smtp-auth-password=********* // 邮箱SMTP授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs
设置证书
由于阿里云默认禁用TCP 25端口,我们可以手动申请解封25端口,
我们可以使用465端口,使用以下命令生成并设置该证书
$ mkdir -p /root/.certs/
$ echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
$ certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
$ certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
$ cd /root/.certs/
$ certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs/./ -i qq.crt
$ certutil -L -d /root/.certs
// Certificate Nickname Trust Attributes
// SSL,S/MIME,JAR/XPI
// GeoTrust SSL CA P,P,P
// 设置成功
发送测试邮件
内容注意要使用双引号,单引号会输出到内容
// 发送内容
$ echo "my mail content" | mail -s "withContent_title" 405348097@qq.com
// 发送内容 (从 content.txt 中读取内容)
$ mail -s "withFileContent_title" 405348097@qq.com < content.txt
// 发送附件 -a
$ echo "my mail with accessory" | mail -a content.txt -s "withAccessory_title" 405348097@qq.com
mail 参数:
-b address 指定密件副本的收信人地址
-c address 指定副本的收信人地址
-f [file] 读取指定邮件文件中的邮件
-i 忽略终端发出的信息
-I 使用互动模式
-n 启动时禁止读取 /etc/mail.rc
-N 阅读邮件时,不显示邮件的标题
-s subject 指定邮件的主题
-t 要发送的消息应包含带有 To:、Cc:、或 Bcc: 字段的消息头,在命令行上指定的收件人将被忽略。
-u user 读取指定用户的邮件
-v 执行时,显示详细的信息
-V 显示版本信息并退出
欢迎技术指正与交流,转载请注明出处
https://www.imure.cn/2019/11/19/CentOS-Mailx/