OTRS工單管理系統安裝配置Sendmail

(一)、環境
系統:CentOS7.4
Sendmail安裝
OTRS:6.0.18linux

(二)、SMTP介紹:
SMTP稱爲簡單郵件傳輸協議(Simple Mail Transfer Protocal),目標是向用戶提供高效、可靠的郵件傳輸。它的一個重要特色是它可以在傳送中接力傳送郵件,即郵件能夠經過不一樣網絡上的主機接力式傳送。一般它工做在兩種狀況下:一是郵件從客戶機傳輸到服務器;二是從某一個服務器傳輸到另外一個服務器。SMTP是一個請求/響應協議,它監聽25號端口,用於接收用戶的Mail請求,並與遠端Mail服務器創建SMTP鏈接。vim

二、SMTP協議工做機制服務器

SMTP一般有兩種工做模式。發送SMTP和接收SMTP。具體工做方式爲:發送SMTP在接收到用戶的郵件請求後,判斷此郵件是否爲本地郵件,如果直接投送到用戶的郵箱,不然向DNS查詢遠端郵件服務器的MX記錄,並創建與遠端接收SMTP之間的一個雙向傳送通道,此後SMTP命令由發送SMTP發出,由接收SMTP接收,而應答則反方向傳送。一旦傳送通道創建,SMTP發送者發送MAIL命令指明郵件發送者。若是SMTP接收者能夠接收郵件則返回OK應答。SMTP發送者再發出RCPT命令確認郵件是否接收到。若是SMTP接收者接收,則返回OK應答;若是不能接收到,則發出拒絕接收應答(但不停止整個郵件操做),雙方將如此反覆屢次。當接收者收到所有郵件後會接收到特別的序列,入伏哦接收者成功處理了郵件,則返回OK應答。網絡

三、SMTP的鏈接和發送過程dom

(a)創建TCP鏈接ide

(b)客戶端發送HELO命令以標識發件人本身的身份,而後客戶端發送MAIL命令;服務器端正但願以OK做爲響應,代表準備接收工具

(c)客戶端發送RCPT命令,以標識該電子郵件的計劃接收人,能夠有多個RCPT行;服務器端則表示是否願意爲收件人接收郵件測試

(d)協商結束,發送郵件,用命令DATA發送this

(e)以.表示結束輸入內容一塊兒發送出去3d

(f)結束這次發送,用QUIT命令退出

(三)sendmail安裝與配置
sendmail是linux系統中一個郵箱系統,若是咱們在系統中配置好sendmail就能夠直接使用它來發送郵箱。
sendmail的配置文件:
/etc/mail/sendmail.cf :Sendmail的主配置文件;
/etc/mail/access :中繼訪問控制;
/etc/mail/domaintable ;域名映射;
/etc/mail/local-host-names ;本地主機別名;
/etc/mail/mailertable :爲特定的域指定特殊的路由規則;
/etc/mail/virtusertable :虛擬域配置。
中繼的配置
是指一臺服務器接受並傳遞源地址和目的地址都不是本服務器的郵件。
在兩個文件中進行設置:
/etc/mail/relay-domains
/etc/mail/access

一、sendmail安裝

yum install -y sendmail
yum install -y sendmail-cf

二、建立自定義服務啓動。

systemctl enable sendmail
systemctl start sendmail

三、sendmail配置SMTP認證
將下面兩行內容前面的dnl去掉。在sendmail文件中,dnl表示該行爲註釋行,是無效的,所以經過去除行首的dnl字符串能夠開啓相應的設置行。
先備份在編輯

cp /etc/mail/sendmail.rc /etc/mail/sendmail.rc.bak
vim /etc/mail/sendmail.mc
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

四、設置Sendmail服務的網絡訪問權限(若是是直接本機調用,能夠不用操做,採用默認的127.0.0.1。不過最後仍是改爲0.0.0.0)
將127.0.0.1改成0.0.0.0,意思是任何主機均可以訪問Sendmail服務。
若是僅讓某一個網段可以訪問到Sendmail服務,將127.0.0.1改成形如192.168.1.0/24的一個特定網段地址。

[root@otrs ~]# vim /etc/mail/sendmail.mc
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

五、生成配置文件
Sendmail的配置文件由m4來生成,m4工具在sendmail-cf包中。若是系統沒法識別m4命令,說明sendmail-cf軟件包沒有安裝
[root@otrs ~]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
六、重啓服務
systemctl restart sendmail

七、查看日誌和隊列

[root@otrs ~]# mailq
/var/spool/mqueue is empty
        Total requests: 0
[root@otrs ~]# tail -f /var/log/maillog
May 13 21:12:06 otrs sendmail[2891]: x4DDC4w2002889: to=<songyaqi@kjdow.com>, delay=00:00:02, xdelay=00:00:02, mailer=esmtp, pri=120993, relay=mxbiz1.qq.com. [183.57.48.34], dsn=5.0.0, stat=Service unavailable
May 13 21:12:06 otrs sendmail[2891]: x4DDC4w2002889: x4DDC6w2002891: DSN: Service unavailable
May 13 21:12:07 otrs sendmail[2891]: STARTTLS=client, relay=mxbiz2.qq.com., version=TLSv1/SSLv3, verify=FAIL, cipher=AES128-SHA256, bits=128/128
May 13 21:12:08 otrs sendmail[2891]: x4DDC6w2002891: to=<otrs@kjdow.com>, delay=00:00:02, xdelay=00:00:02, mailer=esmtp, pri=32188, relay=mxbiz2.qq.com. [183.57.48.34], dsn=5.0.0, stat=Service unavailable
May 13 21:12:08 otrs sendmail[2891]: x4DDC6w2002891: x4DDC6w3002891: return to sender: Service unavailable
May 13 21:12:08 otrs sendmail[2891]: x4DDC6w3002891: to=root, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=33212, dsn=2.0.0, stat=Sent
May 13 21:36:23 otrs sendmail[3202]: starting daemon (8.14.7): SMTP+queueing@01:00:00
May 13 21:36:23 otrs sm-msp-queue[3219]: starting daemon (8.14.7): queueing@01:00:00
May 13 21:43:28 otrs sendmail[3483]: starting daemon (8.14.7): SMTP+queueing@01:00:00
May 13 21:43:28 otrs sm-msp-queue[3500]: starting daemon (8.14.7): queueing@01:00:00

(四)、測試發送郵箱

(1)、第一種方法安裝sendmail和mailx
[root@otrs ~]#yum -y install mailx
建立一個郵件內容文件,而後發郵件(注意-s參數後的郵件標題要用單引號,不能使用雙引號,不然發郵件會失敗!)

[root@otrs ~]# echo 'This is test mail'>/root/content.txt 
[root@otrs ~]#  cat /root/content.txt
This is test mail
[root@otrs ~]# mail -s 'this is otrs test message' xxxxxxx@qq.com < /root/content.txt

見下圖。
OTRS工單管理系統安裝配置Sendmail

也能夠經過管道符直接發送郵件內容
[root@otrs ~]# echo "this is first test message of otrs" | mail -s 'orts-otrs' 284315732@qq.com
OTRS工單管理系統安裝配置Sendmail

(二)第二種方法:利用外部的smtp服務器進行發送。
經過外部的smtp服務器進行發送,修改/etc/mail.rc文件,在最下邊添加以下配置。上面第一種方式中,/bin/mail命令會默認使用本地sendmail發送郵件,這樣要求本地的機器必須安裝和啓動Sendmail服務,配置很是麻煩,並且會帶來沒必要要的資源佔用。而經過修改配置文件可使用外部SMTP服務器,能夠達到不使用sendmail而用外部的smtp服務器發送郵件的目的。
修改/etc/mail.rc文件(有的版本叫/etc/nail.rc,添加下面內容:
set from=fromUser@domain.com smtp=smtp.domain.comset smtp-auth-user=username smtp-auth-password=passwordset smtp-auth=login

參數說明:
from是發送的郵件地址
smtp是發生的外部smtp服務器的地址
smtp-auth-user是外部smtp服務器認證的用戶名。注意必定要填寫郵件全稱!!
smtp-auth-password是外部smtp服務器認證的用戶密碼
smtp-auth是郵件認證的方式

[root@otrs ~]# cat  /etc/mail.rc
set from=otrs@kjdow.com 
set smtp=smtp.exmail.qq.com  
set smtp-auth-user=otrs@qq.com
set smtp-auth-password=xxxx 
set smtp-auth=login

經過mail -s 'this is otrs test message' xxxxxxx@qq.com < /root/content.txt 進行發送郵件了。

(五)、配置otrs工單管理系統。
以下圖,依次選中系統管理---系統配置---Core---Email---SendmailModule模塊
OTRS工單管理系統安裝配置Sendmail
OTRS工單管理系統安裝配置Sendmail

備註若是sendmail出現 DSN: Service unavailable。這是因爲主機名沒有正確解析致使的。具體解決步驟以下:

一、cat /etc/hosts
[root@otrs ~]# cat /etc/hosts
183.57.48.34     mxbiz1.qq.com.
192.168.4.203   otrs.bakheet.cn.

二、cat /etc/sysconfig/network
[root@otrs ~]#  cat /etc/sysconfig/network
HOSTNAME=otrs.bakheet.cn
三、重啓服務
注意/etc/hosts文件和/etc/sysconfig/network 裏面的HOSTNAME必須一致,

而且修改/etc/sysconfig/network裏面的hostname文件,必須用命令hostname xxx使其生效,

不然會提示 dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]
相關文章
相關標籤/搜索