在RequestTracker(RT)里用msmtp通过远程smtp服务器465端口发邮件

SoftLayer(IBM Cloud)过滤了TCP 25端口,Vultr的也可能过滤了,越来越多的云服务商主动屏蔽了25端口的通讯。

阿里云对新建的ECS实例,也过滤了25端口。

RequestTracker的工单系统,邮件通知是重要的需求之一,当阿里云ECS实例不能使用25端口发信时,可以尝试配置msmtp使用远程的smtp 465端口来发邮件。

环境:Deiban 8,RT 4.4.2, RT安装在 /opt/rt4 的路径
国内某免费的企业邮箱:smtp服务器地址,smtp.exmail.qq.com;SSL端口:465;邮箱地址:rt@anqun.org

过程:

  1. /opt/rt4/etc/msmtp_wrapper.conf # 在RT配置目录中创建 msmtp 的配置文件,文件属主是web进程用户,即www-data,权限是600,内容如下:

    defaults
    port 465
    tls on
    tls_trust_file /etc/ssl/certs/ca-certificates.crt
    # logfile ~/.msmtp.log
    
    account qmail
    host smtp.exmail.qq.com
    from rt@anqun.org
    auth on
    user rt@anqun.org
    password NiDeMiMa
    # auto_from on
    tls_starttls off
    
    # Set a default account
    account default : qmail
  2. /opt/rt4/etc/msmtp_wrapper # 在RT文件配置目录中创建Shell文件,文件属性是web进程用户,即www-data,且有执行的权限,+x,内容如下:

    /usr/bin/msmtp -t -C /opt/rt4/etc/msmtp_wrapper.conf
    /usr/bin/logger -t RTmailer -p syslog.info -- CALL /usr/bin/msmtp -nt "$@" RETURNED $?
  3. /opt/rt4/etc/RT_SiteConfig.pm # 在RT的自定义配置文件中,加入以下一行内容,让RT使用msmtp来发信:

    Set( $SendmailPath, '/opt/rt4/etc/msmtp_wrapper');

  4. 重启Web服务,以让新的设置生效,测试发信正常

参考:

标签: RequestTracker, RT

添加新评论