CentOS 使用 Mailx 通过465端口发送邮件

CentOS Linux release 7.6.1810
使用 QQ SMTP 发送邮件

安装 Mailx

$ yum install mailx
  • 1

开启 SMTP 并获得授权码

登录邮箱 - 设置 - 账户
1.开启 SMTP
2.获得 SMTP 授权码 (需要手机验证)

设置 mail.rc

设置发送者的邮箱信息

set from=XXXXXXXX@qq.comset smtp=smtps://smtp.qq.com:465set smtp-auth-user=XXXXXXXXX@qq.comset smtp-auth-password=********* // 邮箱SMTP授权码set smtp-auth=loginset ssl-verify=ignoreset nss-config-dir=/root/.certs
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

设置证书

由于阿里云默认禁用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// 设置成功
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

发送测试邮件

内容注意要使用双引号,单引号会输出到内容

// 发送内容$ 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

mail 参数:

-b address 指定密件副本的收信人地址-c address 指定副本的收信人地址-f [file] 读取指定邮件文件中的邮件-i 忽略终端发出的信息-I 使用互动模式-n 启动时禁止读取 /etc/mail.rc-N 阅读邮件时,不显示邮件的标题-s subject 指定邮件的主题-t 要发送的消息应包含带有 To:、Cc:、或 Bcc: 字段的消息头,在命令行上指定的收件人将被忽略。-u user 读取指定用户的邮件-v 执行时,显示详细的信息-V 显示版本信息并退出
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

欢迎技术指正与交流,转载请注明出处
https://www.imure.cn/2019/11/19/CentOS-Mailx/



[root@resume .certs]# cat /etc/mail.rc 

set from=it@roshi.cn

set smtp=smtps://smtp.mxhichina.com:465

set smtp-auth-user=it@roshi.cn

set smtp-auth-password=dlROSHI123&

set smtp-auth=login

#set smtp-use-starttls=yes

set ssl-verify=ignore

 

set nss-config-dir=/root/.certs

 
posted @ 2021-07-16 12:06  ianCloud  阅读(257)  评论(0编辑  收藏  举报