Thunderbird 如何發送電子郵件?

Thunderbird 如何發送電子郵件?

好吧,標題可能有點誤導,但我找不到更好的方法來描述我的問題。我嘗試設定我的機器透過 phpmail()函數發送電子郵件。事實證明我不能。我的 ISP 封鎖了連接埠 25,所以運氣不好。然後,出於好奇,我用 gmail 帳戶設定了 Thunderbird,並向 hotmail 帳戶發送了一條訊息。這有效。我很好奇 Thunderbird 是如何發送電子郵件的。

我在 Thunderbird 上的 gmail 帳戶配置中看到它使用的是不同的端口,而不是 25。不久前,我想在 Thunderbird 上設定帳戶,我必須手動輸入 SMTP 伺服器值和 IMAP/POP3 值,所以很高興看到它們現在自動執行此操作。

我還檢查了郵件日誌,沒有任何變化。我想這是理所當然的,因為電子郵件不是由 postfix 的 sendmail 發送的,而是由 gmail 發送的。是對的嗎?

好吧,我的問題是 Thunderbird 如何發送電子郵件?更重要的是,我可以做類似的事情來從我的 php 腳本發送電子郵件嗎?

我意識到這可能是個「愚蠢」的問題,但我對這件事真的一無所知。

既然我已經問了,我可以在哪裡了解這一點?他們在學校教這個嗎?也許對計算機科學家來說?對於開始了解電子郵件、SMTP、POP3 等內容的美好世界來說,這是一本好書。

答案1

若要傳送電子郵件,您的郵件用戶端(Thunderbird 或 PHP 腳本)必須連接到可以透過網路中繼電子郵件以最終到達收件者電子郵件伺服器的 SMTP 伺服器。 SMTP 的標準連接埠是 25,但有時也可以使用其他連接埠(例如 587 或 465),通常使用某種加密(例如 SSL)。

使用哪個連接埠和加密取決於您使用的 SMTP 伺服器。正如您所提到的,Thunderbird 可以透過嘗試常見連接埠和協定來檢測這一點。要從 PHP 腳本透過 SSL 發送電子郵件,您可以使用梨郵件擴大。

有關電子郵件協議如何運作的資訊可能不應該被視為常識。維基百科當然有概述,但正如你所說,如果你想深入挖掘,可能會推薦一本書。

答案2

我知道你解決了這個問題,但這是原始問題的答案:雷鳥如何發送郵件?

Thunderbird 用戶端與一些已知郵件提供者的連線資訊捆綁在一起,包括(如您所見)gmail、hotmail、yahoo 以及可能的其他一些提供者。配置會知道:

  • 傳入協定 - POP3 或 IMAP(遺憾的是,Thunderbird 無法執行 Exchange:Microsoft 僅授權用於行動裝置的 Exchange 協定)
  • 傳出協定 - 幾乎通用 SMTP
  • 服務所在的連接埠。
  • 我需要向 SMTP 伺服器進行身份驗證嗎? (SMTP 伺服器現在通常需要身份驗證,否則您將提供更多垃圾郵件)
  • 加密? TLS/SSL?或者它是否支援 STARTTLS?

所以,當您建立帳戶時,您告訴 Thunderbird“[電子郵件受保護]「。它看到它是 gmail.com,並使用配置來了解該帳戶的資訊(imap.gmail.com 上的 IMAP/SSL、smtp.gmail.com 上的 SMTP/SSL 等)

當您發送郵件時,Thunderbird 知道它需要登入 SMTP 伺服器,開啟加密,然後使用非常具體的格式

至於學習,請檢查射頻控制系統,它們是透過電線傳播的最後一句話。另外,請檢查 postfix、sendmail 和其他 MTA(郵件傳輸代理)的文件。

相關內容