配置請求跟蹤器(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