- 论坛徽章:
- 0
|
所謂 relay 是說某個 ip 連線端連到 mail server 要寄信, 收件者不是該 mail server 上面的使用者, 而該 mail server 會把信件收下來後然後投地給遠端主機.
你在 mail server 本身直接使用 mail 指令寄信, mail 是直接呼叫 mail server 本身的 /usr/sbin/sendmail 透過 stdin/stdout 方式溝通寄信, 這過程不是 smtp 溝通, sendmail 一般是讀取 submit.cf 檔案, 該 submit.cf 沒有引入使用 access 功能定義, 所以沒有參考 access 的參考問題. 再者, 這個溝通過程對於 sendmail 根本不是 relay 的流程, 所以就算參考了 access 內容, 也不需要經過 127.0.0.1 RELAY 這類敘述才可以運作.
若是你在本機跑一個程式, 該程式是直接連到 mail server ip 的 port 25 來 smtp 溝通寄信的話, 那就是與常駐的 sendmail 溝通, 該 sendmail 程式本身就是使用 sendmail.cf 檔案, 該 sendmail.cf 有引入 access 功能定義, 所以會參考 access 檔案內容, 所以得開 127.0.0.1 要可以 RELAY 才能夠允許再透過該 mail server 寄信給其他主機使用者.
所以請區分清楚, 於本機直接呼叫 /usr/sbin/sendmail userid@hostname 寄信出去, 與連線到本機 port 25 與 mta 進行 smtp 溝通的差異, 前者無 relay 的動作, 但是後者有. |
|