我需要發送電子郵件DIRECLTY到收件人的郵件服務器,繞過我的一端的任何MTA。我知道使用sendmail等MTA有一些很好的理由,所以我不需要那個方向的建議。我想編寫直接連接到收件人的郵件服務器的代碼。使用SMTP協議直接發送電子郵件的正確方法是什麼? (繞過我的一端MTA)
那麼,我錯過了什麼嗎?
- 假設目標電子郵件是[email protected]
- 查找domain.com的MX記錄,並選擇一個隨機的MX記錄。我們稱這個「服務器」
- 如果沒有MX記錄domain.com,使用「domain.com」作爲「服務器」
- 連接到「服務器」在端口25
- 將本:
HELO myserver.com
MAIL FROM: <[email protected]>
RCPT TO: <[email protected]>
DATA
主題:這是一個測試
你好, 這是一個測試消息。
退出
這在很多情況下工作。我想知道的是 - 我錯過了什麼?有沒有什麼情況會導致這種情況無效,我還得做更特別的事情?
我可以測試它嗎?如果我連接的遠程服務器顯示「可接受郵件的消息」,我可以假設它會通過嗎?
我有這種感覺,你可能能夠得到超級用戶的答案,即https://superuser.com/ – davidkonrad 2018-01-09 14:31:08