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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- postfix出現錯誤“fatal:unknownservice:smtp/tcp”(轉)TCP
- postfix出現錯誤“fatal:opendatabase/etc/aliases.db”(轉)Database
- [求救]電信彩信閘道器開發錯誤-SOAP_VERSIONMISMATCH
- postfix時常提示出現關於set-uid的錯誤(轉)UI
- [解決]電信彩信閘道器開發錯誤-SOAP_VERSIONMISMATCH
- PbootCMS錯誤提示:執行SQL發生錯誤!錯誤:no such column: def1bootSQL
- 執行SQL發生錯誤!錯誤:disk I/O errorSQLError
- 美國國稅局向錯誤報告交易的加密貨幣投資者發出新的警告信加密
- 在Excel中設定當資料輸入錯誤時提示出錯信Excel
- PbootCMS執行SQL發生錯誤!錯誤:no such column: def1bootSQL
- iOS 開發錯誤集錦iOS
- 開發中遇到的錯誤
- 用觸發器返回錯誤提示,糾正錯誤資料錄入觸發器
- PbootCMS 執行SQL發生錯誤!錯誤: no such table:ay_configbootSQL
- 升級提示 執行SQL發生錯誤!錯誤:duplicate column name: picstitleSQL
- Postfix 安裝
- postfix安裝
- IDEA發生“Error:java: 錯誤: 不支援發行版本 5”錯誤的解決方案IdeaErrorJava
- Android開發錯誤集錦Android
- 前端開發--如何快速定位錯誤前端
- JPA 開發中遇到的錯誤
- 開發時犯得小錯誤
- 無法發貼,NULL錯誤,求助!Null
- 發現大師們的錯誤
- _findnext()除錯中斷,發生訪問錯誤,錯誤定位到ntdll.dll除錯
- pbootcms升級提示 執行SQL發生錯誤!錯誤:duplicate column name: picstitlebootSQL
- 聊一聊chkrookit的誤信和誤用
- PBOOTCMS網站程式提示“執行SQL發生錯誤!錯誤:DISK I/O ERROR”boot網站SQLError
- postfix基礎篇
- Android NDK開發Crash錯誤定位Android
- Web開發常見性的錯誤Web
- webwork開發指南 是邏輯錯誤?Web
- Go 併發 2.2:錯誤處理模式Go模式
- PbootCMS登入請求發生錯誤boot
- ORACLE 異常錯誤 錯誤號大全Oracle
- nginx 錯誤除錯Nginx除錯
- rac錯誤除錯除錯
- Qt 訊號發射部分 undefined reference to錯誤QTUndefined