配置请求跟踪器(RT)以通过Office 365中继使用MSMTP发送邮件

在本教程中,我们将学习如何配置请求跟踪器(RT)以通过Office 365中继使用MSMTP发送邮件。 请求跟踪器(RT) 是一种企业级问题跟踪/票证系统,使组织可以跟踪要完成的各种任务,完成的任务以及完成任务的时间。

无缝电子邮件集成是请求跟踪器(RT)的关键功能之一。 Request Tracker接收和管理发送到您的主要电子邮件地址的所有电子邮件: [email protected], [email protected], [email protected], [email protected] 工作人员可以通过电子邮件或RT的完整网络界面管理票证答复。

MSMTP 是SMTP客户端,默认情况下(sendmail mode),它将邮件发送到SMTP服务器,该服务器负责进一步发送。一些受支持的功能包括:

  • TLS安全连接(包括服务器证书验证和发送客户端证书的可能性)
  • 身份验证方法PLAIN,LOGIN,CRAM-MD5和EXTERNAL(以及在使用GNU SASL支持进行编译时的GSSAPI,SCRAM-SHA-1,DIGEST-MD5和NTLM)
  • 国际化域名(IDN)
  • DSN(交付状态通知)支持
  • PIPELINING支持提高传输速度
  • RMQS(远程消息队列启动)支持(ETRN关键字)

配置请求跟踪器(RT)以通过Office 365中继使用MSMTP发送邮件

在您可以继续将RT配置为通过Office 365中继使用MSMTP发送邮件之前,我们假定您已经安装并运行了RT。

如果没有,您可以查看我们的指南,了解如何在CentOS 8上使用MariaDB数据库安装Request Tracker。

在CentOS 8上使用MariaDB安装请求跟踪器(RT)

在CentOS 8上安装MSMTP

在我们的设置中,我们在CentOS 8系统上运行了RT。因此,您只需执行以下命令,即可从EPEL仓库安装MSMTP SMTP客户端。

dnf install epel-release
dnf install msmtp

配置MSMTP以使用Office 365邮件中继

安装完成后,将MSMTP配置为使用Office 365邮件中继。因此,创建一个MSMTP配置文件,您可以在其中定义SMTP服务器主机名,身份验证设置,TLS设置。

通常,此配置文件应位于Request Tracker配置目录中。在我们的设置中,该目录默认为 /opt/rt4/etc

vim /opt/rt4/etc/msmtp_wrapper.conf

将以下配置选项插入上面的配置文件。

defaults
account default
host smtp.office365.com
port 587
tls on
tls_starttls  on
tls_trust_file    /etc/pki/tls/certs/ca-bundle.crt
tls_certcheck on
auth on
user [email protected]
password r4User_pass
logfile /var/log/rt4/msmtp.log

保存并退出文件, 当然,将值主机,用户和密码更改为各自的值后。

下面介绍了我们上面使用的一些选项;

常规选项

  • defaults:在当前配置文件中为以下所有帐户定义设置默认值。
  • account name:使用给定名称开始新的帐户定义。在这种情况下,默认设置为帐户名。
  • host hostname:定义了将邮件发送到的SMTP服务器。
  • port number: 定义SMTP服务器侦听的端口帽。除非使用不带STARTTLS的TLS,否则默认值为25(“ smtp”),在这种情况下,值为465(“ smtps”)。

验证选项

  • auth on:启用并自动选择要使用的身份验证方法。
  • user [email protected]:设置用于认证的用户名。
  • password r4User_pass:设置认证用户的密码。

TLS选项

  • tls on:为安全连接启用SSL / TLS。
  • tls_starttls on:强制使用TLS而非SSL。
  • tls_trust_file /etc/pki/tls/certs/ca-bundle.crt:使用受信任的证书颁发机构(CA)列表激活服务器证书验证。在这种情况下,我们使用默认的系统CA文件, ca-bundle.crt
  • tls_certcheck on:启用对服务器证书的检查。默认情况下启用。

MSMTP sendmail模式选项

logfile:启用日志记录到指定文件。空参数将禁用日志记录。文件名“ –”将日志信息定向到标准输出。在此设置中,我们使用 /var/log/rt4/msmtp.log 作为日志文件。

设置正确的所有权和MSMTP RT配置文件的权限

将用户和组所有权设置为运行RT的用户。在这种情况下,用户是 apache

chown apache:apache /opt/rt4/etc/msmtp_wrapper.conf

在文件上设置以下权限;

chmod 600 /opt/rt4/etc/msmtp_wrapper.conf

创建MSMTP包装器脚本

接下来,创建一个MSMTP包装脚本,以定义如何使用上述MSMTP配置以及定义RT日志记录。

vim /opt/rt4/etc/msmtp_wrapper
#!/bin/bash
/usr/local/bin/msmtp -t -C /opt/rt4/etc/msmtp_wrapper.conf -f [email protected]
/usr/bin/logger -t RTmailer -p syslog.info -- CALL /usr/local/bin/msmtp -nt "[email protected]" RETURNED $?

保存并退出文件。

更新脚本的权限和所有权。

chown apache:apache /opt/rt4/etc/msmtp_wrapper
chmod +x /opt/rt4/etc/msmtp_wrapper

验证通过Office 365中继发送的请求跟踪器MSMTP邮件

完成将请求跟踪程序(RT)配置为通过Office 365中继使用MSMTP发送邮件的基本设置。在将Request Tracker配置为实际使用MSMTP之前,您需要做的就是通过执行如下命令来验证它是否可以实际发送邮件;

echo "msmtp test" | msmtp --debug -t -C /opt/rt4/etc/msmtp_wrapper.conf -f [email protected] [email protected]
...
<-- 235 2.7.0 Authentication successful
--> MAIL FROM:<[email protected]>
--> RCPT TO:<[email protected]>
--> DATA
<-- 250 2.1.0 Sender OK
<-- 250 2.1.5 Recipient OK
<-- 354 Start mail input; end with .
--> From: [email protected]
--> Date: Mon, 27 Jul 2020 22:32:30 +0300
--> msmtp test
--> .
<-- 250 2.0.0 OK <[email protected]od.outlook.com> [Hostname=AM7PR02MB6193.eurprd02.prod.outlook.com]
--> QUIT
<-- 221 2.0.0 Service closing transmission channel

同时,您可以按以下方式尾随日志:

tail -f /var/log/rt4/msmtp.log
Jul 27 22:32:40 host=smtp.office365.com tls=on auth=on [email protected] [email protected] [email protected] mailsize=76 smtpstatus=250 smtpmsg='250 2.0.0 OK <[email protected]od.outlook.com> [Hostname=AM7PR02MB6193.eurprd02.prod.outlook.com]' exitcode=EX_OK

这看起来还不错。

配置请求跟踪程序以使用MSMTP发送邮件

一旦确认MSMTP可以通过Office 365 SMTP服务器中继邮件,请继续将RT配置为使用MSMTP发送电子邮件。

编辑行RT网站配置文件, /opt/rt4/etc/RT_SiteConfig.pm,并替换到 Set($SendmailPath , "..."); 与MSMTP包装器配置文件的路径。

在我们的设置中,我们之前已将RT配置为使用Posfix发送邮件。

Set( $SendmailPath, '/usr/sbin/postfix' );

因此,运行以下命令替换它;

sed -i 's#/usr/sbin/postfix#/opt/rt4/etc/msmtp_wrapper#' /opt/rt4/etc/RT_SiteConfig.pm

这行现在应该看起来像;

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

在注销之前运行RT站点配置语法检查;

perl -c /opt/rt4/etc/RT_SiteConfig.pm

如果一切顺利,你应该得到 好的语法

/opt/rt4/etc/RT_SiteConfig.pm syntax OK

这很好地总结了如何配置请求跟踪器(RT)以通过Office 365中继使用MSMTP发送邮件。

在下一个教程中,我们将学习如何配置Request Tracker以使用Fetchmail检索邮件。

参考

Msmtp –请求跟踪器Wiki

Msmtp配置选项

其他教程

在CentOS 8上安装和设置Suricata

在CentOS 8上使用Apache配置LibModSecurity

在CentOS 8上使用Nginx配置LibModSecurity

Sidebar