• 搜索
  • 夜间模式
    ©2026  依刻学习 Theme by OneBlog

    依刻学习博客

    搜索
    标签
  • 首页>
  • 学习的一天>
  • 正文
  • 公有云邮箱mailx

    2025年02月07日 10 阅读 0 评论 1561 字

    前言

    写定时脚本任务时,如何知道定时任务是否准确触发?使用邮箱发送

    今天写脚本突然想到了邮箱配置,之前打过个人邮箱,但是那时根本没搞明白,现在来解决发邮件的问题

    由于邮箱的安全性认证与公有云要求SMTP,如果没有授权会无法发送

    ​实践

    这里以QQ邮箱举例
    1.获取QQ邮箱授权码
    位于用户设置-->账号与安全-->SMTP

    注意,授权码仅显示一次(但不是一次性的,可以重复使用),需要记录下来

    2.配置mailx

    #安装/升级mailx
    yum install mailutils -y
    
    echo >>   /etc/mail.rc <<'EOF'
    set nss-config-dir=/etc/pki/nssdb/
    set smtp-user-starttls
    set ssl-verify=ignore
    #以上是公有云需要配置的加密方式
    #set from=<需要与发送目标一致>
    set from=123@qq.com
    #set smtp=smtp邮件目标(不是直接的邮箱,是smtp邮箱)
    set smtp=smtps://smtp.qq.com
    #set smtp-auth-user=<授权邮箱用户>
    set smtp-auth-user=123@qq.com
    #SMTP授权码
    set smtp-auth-password=<授权码>
    set smtp-auth=login    
    EOF
    

    3.共有云SMTP证书配置
    没有这个证书SMTP接收端(qq邮箱)不接收

    echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/pki/nssdb/qq.crt
    certutil -A -n "GeoTrust SSL CA" -t "C,," -d /etc/pki/nssdb/ -i /etc/pki/nssdb/qq.crt
    certutil -A -n "GeoTrust Global CA" -t "C,," -d /etc/pki/nssdb/ -i /etc/pki/nssdb/qq.crt
    certutil -L -d /etc/pki/nssdb/
    cd /etc/pki/nssdb/
    certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt

    4.开放公有云端口
    开放587端口,进行SMTP

    5.测试

    echo 'test'|mail   -s  ‘test’   123@qq.com &>/dev/null     

    由于未知原因,发送后莫名会出现显示

    但是实际上已经接受到了邮件,通过输出重定向暂时解决问题

    本文著作权归作者 [ wymm ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    取消回复

    发表留言
    回复

    Copyright©2026  All Rights Reserved.  Load:0.025 s
    Theme by OneBlog V3.6.5
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。