下面的第一个例子有大用 有大大用 有大大用 再下面的例子可以不用看了
mailx使用ssl方式发送邮件
mailx在发送邮件时,可以选择25端口,也可以使用其它端口(这个取决于邮件服务商)。
在这里大家要了解 非ssl协议端口和ssl协议端口
163邮箱提供的端口如下:
现在基本上都采用ssl协议的方式
如:阿里云默认25端口被禁止,所以必须采用其它端口来进行邮件发送;QQ默认采用ssl协议。
所以必须要掌握ssl协议方式的邮件发送。
非SSL协议端口-mailx的配置
以163邮件为例:
set from="330145635@163.com" # 设置发送邮箱
set smtp=smtp.163.com # 设置邮件服务器(注意端口)
set smtp-auth-user="330145635@163.com" #设置邮件用户登录账号
set smtp-auth-password="zqtxbekwabqibjhf" #设置密码,注意这里的密码是客户端授权密码,非用户登录密码。
set smtp-auth=login #
SSL协议端口-mailx的配置
以QQ邮箱为例
set from="330XXXX35@qq.com"
set smtp=smtp.qq.com # 设置邮件服务器(注意端口)QQ邮箱这样写即可
set smtp-auth-user="330XXXX35@qq.com" #设置邮件用户登录账号
set smtp-auth-password="zqtxbekwabqibjhf" 授权码
set smtp-auth=login
#set smtp-use-starttls=yes #QQ邮箱中,加上后,会报错,但是邮件可以正常发送
set ssl-verify=ignore #认证方式
set nss-config-dir=/root/.certs #证书地址
证书的处理
使用SSl协议端口时,需要证书。默认情况下一般是没有证书的,所以需要首先进行证书的获取。
如果直接按照上述方式进行配置,发送测试邮件时,会报如下错误
证书的获取
可以手动直接生成证书
顺序执行如下命令即可生成证书:
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 certutil -L -d /root/.certs
生成证书时,根据邮件服务器的不同可以自己调整
为了防止出现前文所说的发送邮件警告提示,还需要进入邮箱 SSL 证书存放目录 /root/.certs 里执行如下命令
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt
到这里就设置好了,可以发送一封邮箱测试一下
echo date | mailx -s "data" 330145635@qq.com
感谢楼主的分享
看来是可以放弃WP的SMTP插件了。
毫无疑问,这个是要支持的!