授权转载 - Linux 系统使用 Mailx 发送邮件 - SciAds
  C2NV3Wu7zUUQ 2023年11月01日 322 0

一、安装 Mailx

Ubuntu

sudo apt-get install bsd-mailx

CentOS7

yum -y install mailx

二、获取邮箱授权码

(解决报错问题 535 Error: authentication failed, system busy)

以腾讯企业邮箱为例:

需要在邮箱【设置】-【邮箱绑定】里绑定微信,之后【开启安全登录】-【客户端专用密码】点击【生成新密码】

image

image

如果你使用的是其他邮箱,搜索后仍不明白如何获取邮箱授权码,可以在评论区留言,或联系 SciAds

三、修改配置文件 /etc/mail.rc

set from=xxxx@qq.com               改成自己的邮箱
set smtp=smtp.qq.com               和 smtp 地址
set smtp-auth-user=xxx@qq.com 
set smtp-auth-password=填入上一步生成的新密码

四、使用SSL加密的方式,通过465端口发送邮件

(如果使用的服务器的 TCP 25端口能正常连接外部地址,可跳过第四步)

由于云服务器(如阿里云、华为云等)默认封禁了 25 端口,影响通过TCP 25 端口连接第三方邮件服务商的SMTP服务器对外部发送邮件

可以申请解封端口—— 阿里云 - TCP 25端口解封申请

或通过邮箱服务器的加密端口(465)来完成发送邮件功能,以下是具体过程:

  1. 创建证书存放路径 mkdir -p /root/.certs/

  2. 获取邮件服务器证书
    此处以 QQ 邮箱为例,请自行改成自己的邮箱服务器地址

    echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
    
  3. 指明受信任证书

    echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
    
  4. 修改配置文件 /etc/mail.rc

    set from=xx@qq.com
    set smtp=smtps://smtp.exmail.qq.com:465
    set smtp-auth-user=xx@qq.com
    set smtp-auth-password=第二步生成的授权码
    set smtp-auth=login
    set ssl-verify=ignore
    set nss-config-dir=/root/.certs
    

五、测试发送邮件

echo "test mail" | mail -s "testing" xx@xx.com

收信邮箱能收到新邮件,就配置完成了

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  VExS4Gg6g4KD   3天前   13   0   0 Linux
  VExS4Gg6g4KD   3天前   11   0   0 Linux
  VExS4Gg6g4KD   3天前   13   0   0 Linux
  X6z51Yzaj35p   3天前   10   0   0 Linux
  T0lscH4Qgx5j   8天前   20   0   0 Linux
  u05qsPMWcUGd   8天前   22   0   0 Linux
  VExS4Gg6g4KD   3天前   12   0   0 Linux
  iNBin04WVNys   3天前   10   0   0 Linux
  QP84hQv41ZIv   3天前   11   0   0 Linux
C2NV3Wu7zUUQ