postfix 發信錯誤
postfix發信reject
今天遷移了mail伺服器,對新伺服器進行了一段時間監控,發現日誌中不斷出現如下錯誤。
日誌如下:
Oct 30 10:14:11 mail2 postfix/smtpd[10467]: NOQUEUE: reject: RCPT from unknown[10.10.8.2]:
553 5.7.1 <[email]service@XXX.com.cn[/email]>: Sender address rejected: not owned by user
[email]payment@XXX.com.cn[/email]; from=<[email]service@XXX.com.cn[/email]> to=<[email]zjnbzks120@hotmail.com[/email]>
proto=ESMTP helo=<app101xxx.com.cn>
根據提示判斷是app101這臺伺服器上配置的jspMail自動發信出現了問題
檢視app上關於jspmail的配置發現mail from的郵件地址和smtpuser的使用者不一致
,即用A使用者驗證,然後偽裝成B使用者發信。
如果用客戶端發信,可以看到如下圖
反覆試驗後發現註釋postfix的main.cf
如下行後可以解決此問題
smtpd_sender_restrictions =
# reject_sender_login_mismatch,
# reject_authenticated_sender_login_mismatch,
# reject_unauthenticated_sender_login_mismatch
不過總覺得不太好
參考[url][/url]
得知是postfix中限制認證使用者使用的sender address 功能,預設其實都是註釋掉的,暈
如果需要此功能,需要修改/etc/postfix/main.cf
smtpd_sender_restrictions =
reject_sender_login_mismatch,
reject_authenticated_sender_login_mismatch,
reject_unauthenticated_sender_login_mismatch
smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps,
mysql:/etc/postfix/mysql_virtual_sender_maps.cf,
mysql:/etc/postfix/mysql_virtual_alias_maps.cf
然後建立/etc/postfix/sender_login_maps
把需要驗證的使用者加進去
這裡我們把mail from和smtpuser不一致的加進去即可。
格式為:A地址 A使用者
這裡為了讓[email]service@xxx.com.cn[/email]可以被多個使用者公用,使用者之間逗號隔開
[email]service@xxx.com.cn[/email] [email]payment@xxx.com.cn[/email],[email]service@xxx.com.cn[/email]
其他使用者可以不用新增,因為可以透過mysql來自動匹配。
#postmap sender_login_maps
#postfix reload
繼續觀察日誌,發現類似錯誤不再出現。
後來又想到另一個解決辦法,更簡單
修改postfix的main.cf
mynetworks = 127.0.0.1, 10.10.8.0/24, 10.10.9.0/24
smtpd_sender_restrictions =
permit_mynetworks,
reject_sender_login_mismatch,
reject_authenticated_sender_login_mismatch,
reject_unauthenticated_sender_login_mismatch
smtpd_sender_login_maps =
# hash:/etc/postfix/sender_login_maps,
mysql:/etc/postfix/mysql_virtual_sender_maps.cf,
mysql:/etc/postfix/mysql_virtual_alias_maps.cf
這樣內網的機器直接傳送,不需要驗證了。再觀察一下日誌,果然如此
Oct 30 16:52:14 mail2 postfix/smtpd[11110]: connect from unknown[10.10.8.6]
Oct 30 16:52:14 mail2 postfix/smtpd[11110]: 7A0B65E4433: client=unknown[10.10.8.6], sasl_method=LOGIN, sasl_username=payment@xxx.com.cn
Oct 30 16:52:14 mail2 postfix/cleanup[10889]: 7A0B65E4433: hold: header Received: from app105.chinabank.com.cn (unknown [10.10.8.6])??by mail.chinabank.com.cn (Postfix - By chinabank.com.cn) with ESMTP id 7A0B65E4433??for <[email]guohui@cndns.com[/email]>; Tue, 30 Oct 2007 16:52:14 +080 from unknown[10.10.8.6]; from=<[email]service@xxx.com.cn[/email]> to=<[email]guohui@cndns.com[/email]> proto=ESMTP helo=<app105.xxx.com.cn>
©著作權歸作者所有:來自51CTO部落格作者coolerfeng的原創作品,如需轉載,請註明出處,否則將追究法律責任
職場休閒postfixmail
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4369/viewspace-2820915/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 開發微信公眾號基本配置引數錯誤
- PbootCMS錯誤提示:執行SQL發生錯誤!錯誤:no such column: def1bootSQL
- [求救]電信彩信閘道器開發錯誤-SOAP_VERSIONMISMATCH
- 執行SQL發生錯誤!錯誤:disk I/O errorSQLError
- group by 引發的錯誤
- PbootCMS執行SQL發生錯誤!錯誤:no such column: def1bootSQL
- PbootCMS 執行SQL發生錯誤!錯誤: no such table:ay_configbootSQL
- _findnext()除錯中斷,發生訪問錯誤,錯誤定位到ntdll.dll除錯
- 前端錯誤收集(Vue.js、微信小程式)前端Vue.js微信小程式
- 微信支付WxpayAPI_php_v3 錯誤修改APIPHP
- 配置微信公眾號,token錯誤解決
- Android開發錯誤集錦Android
- IDEA發生“Error:java: 錯誤: 不支援發行版本 5”錯誤的解決方案IdeaErrorJava
- 升級提示 執行SQL發生錯誤!錯誤:duplicate column name: picstitleSQL
- 【常見錯誤】--Nltk使用錯誤
- iis7.5錯誤 配置錯誤
- JPA 開發中遇到的錯誤
- 開發時犯得小錯誤
- Android NDK開發Crash錯誤定位Android
- pbootcms升級提示 執行SQL發生錯誤!錯誤:duplicate column name: picstitlebootSQL
- PBOOTCMS網站程式提示“執行SQL發生錯誤!錯誤:DISK I/O ERROR”boot網站SQLError
- RHLE5+Postfix+OpenwebmailWebAI
- nginx 錯誤除錯Nginx除錯
- Go 併發 2.2:錯誤處理模式Go模式
- PbootCMS登入請求發生錯誤boot
- mysql-發生系統錯誤1067MySql
- 大多數 SSL 證書籤發錯誤的主要原因是軟體錯誤
- Fiddler助力微信開發除錯除錯
- 前端錯誤前端
- JavaFx 錯誤Java
- ORACLE 錯誤Oracle
- 記錄一次錯誤的使用當前時間new Date()引發的錯誤
- Promise基礎(消化錯誤和丟擲錯誤)Promise
- 記錄一次根據錯誤資訊無法定位錯誤的錯誤
- ionic 開發中的一些錯誤
- Qt 訊號發射部分 undefined reference to錯誤QTUndefined
- python開發者常犯的10個錯誤Python
- Java開發熟手該當心的錯誤Java