從 postfix 郵件的部分或屬性中獲取純文字數據,例如 check_sender_access
我需要允許一些域進入我的 postfix 郵件伺服器。據我所知,這可以通過在 Postfix 中使用正則表達式(regexp)來完成。我也知道 postfix 使用一些屬性來“解析”郵件。其中之一是“ check_sender_access ”。這個用於對其應用正則表達式並過濾/控制郵件是否為REJECTED或PERMITTED。問題是我想知道“check_sender_access”從純文字郵件中擷取了什麼。我想知道,如果“check_sender_access”表現為一個變數,那麼在分析郵件時它裡面有什麼。
例如,這是一封郵件的標題(純文字):
Return-Path: notification+kr43fak5xrms22rr@facebookmail.com Received: from ms3.domain.com (LHLO ms3.domain.com) (10.4.1.4) by ms3.domain.com with LMTP; Thu, 2 Mar 2017 03:00:08 -0500 (CST) Received: from localhost (localhost.localdomain [127.0.0.1]) by ms3.domain.com (Postfix) with ESMTP id E8E8F17CED60 for <leila@domain.com>; Thu, 2 Mar 2017 03:00:04 -0500 (CST) X-Spam-Flag: YES X-Spam-Score: 7.017 X-Spam-Level: *******
使用這個純文字,我想知道上面文本的哪一部分是check_sender_access。即使可以做一些echo check_sender_access > dumpfile。據我所知,“ main.cf ”(postfix 的配置文件)不允許批處理命令(echo、grep、for、if、…)。如果是這樣,請告訴我如何。
要恢復,我想通過知道每次諸如 check_sender_access 之類的屬性的值(如果可能的話,以純文字形式)來調試/跟踪過程。
原因:我使用正則表達式來允許特定域,但這從來沒有奏效。但是,使用命令:
postmap -q "domain.com" regexp:/etc/postfix/regexp/checkDomain
這會根據正則表達式將決定返回到checkDomain文件中。這意味著正則表達式正在使用“domain.net”字元串作為測試,例如“gmail.com”被正確驗證。我認為錯誤可能是: 1-在檢查check_sender_access部分 時,郵件在後綴到達該行之前被拒絕。2- 正則表達式正在驗證意外的行(整個標題而不是單個“gmail.com”或 IP 地址)。
自由軟體可以是非常可定制的,但對於某些事情來說它也是原始的。例如,我看不到“check_sender_access”創建(路由)作為屬性或函式。
這是check_sender_access的官方資訊 。感謝您光臨,如果需要更多資訊,請告訴我。
通過 SMTP 發送電子郵件時,發件人首先發出
MAIL FROM: address
命令。這裡應該是發件人的電子郵件地址,是address
指和匹配的內容。當郵件發送給您時,您的伺服器會接收它並將其放置在電子郵件的頂部,它成為標題。check_sender_access``address``Return-Path
因此,在您的範例電子郵件中,正在檢查的地址
check_sender_access
是 notification+kr43fak5xrms22rr@facebookmail.com請記住,這很容易偽造。