- 本文地址: https://www.yangdx.com/2019/02/7.html
- 转载请注明出处
0、本文演示环境:
本文实际操作的系统是 CentOS 7.6,为腾讯云服务器。
1、获取163邮箱授权码:
为了安全,我们不应直接使用原始密码登录第三方客户端,因此有了授权码这个东西。授权码是用于登录第三方邮件客户端的专用密码。
登录163邮箱后,进入 设置--客户端授权密码--设置客户端授权码,开启并设置授权码(且要开通SMTP服务):
2、在Linux系统上安装mailx服务:
在命令行直接输入 mail 指令,如果提示找不到该指令,则表示你还没有安装该服务,请使用 yum 安装该服务:
yum -y install mailx
3、添加163邮箱的smtp配置:
在系统文件 /etc/mail.rc 末尾追加下面内容(按实际情况修改成你的账号和授权码):
set from=你的账号@163.com
set smtp=smtps://smtp.163.com:465
set smtp-auth-user=你的账号
set smtp-auth-password=你的授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs
4、下载163邮箱的证书:
上述配置开启了SSL安全连接,因此我们还需要手动获取163邮箱的SSL证书保存到本地 /root/.certs 目录,以备调用和验证。具体命令如下:
mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
certutil -L -d /root/.certs
cd /root/.certs/
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt
5、测试发送邮件:
我们可以给自己的QQ邮箱发个邮件测试一下是否畅通,指令如下(替换你自己的QQ号):
echo "这是邮件body" | mail -s "这是邮件标题" xxxxxx@qq.com
如果邮件正文很长,可以存入文件,然后用下面的指令发送:
mail -s "这是邮件标题" xxxxxx@qq.com < body.txt
需要携带附件的话,加 -a FILE 参数即可,指令举例:
echo "这是邮件body" | mail -s "这是邮件标题" -a backup.zip xxxxxx@qq.com
如果邮件发不出去,请加上 -v 参数,控制台会打印发件详情,看看在哪一步报错:
echo "这是邮件body" | mail -v -s "这是邮件标题" xxxxxx@qq.com
温馨提示:发送带html标签的邮件会被163邮箱当做垃圾邮件退回!
6、学以致用:
掌握了以上配置,我们可以结合crontab,实现定时备份网站数据发到自己的邮箱。
快来评论一下吧!
发表评论