簡體   English   中英

如何從電子郵件地址獲取SMTP主機名?

[英]How can I get the SMTP host name from email address?

我正在開發一個應用程序,它將在特定時間間隔自動將電子郵件發送到有效電子郵件。 通過Internet搜索,我發現大多數代碼都使用現有的電子郵件帳戶(例如gmail.com)通過以SMTP客戶端身份登錄來發送電子郵件。 但是我的問題是,我將不知道用戶電子郵件的smtp服務器名稱(因為盡管用戶會知道登錄名/密碼,但用戶通常並不了解這些東西)。 例如,

someone@gmail.com應提供smtp.gmail.com和端口號(465)

someone@nextek.net應該提供mail.nextek.net和端口號(?)

someone@screaming.Net smtp.tiscali.co.uk和端口號(?)

我使用電子郵件地址的域名獲得了MX記錄,但是我意識到它實際上提供了可用的傳入SMTP服務器名稱。

例如,如果我在命令提示符下使用nslookup進行ping操作,則gmail.com將提供gmail-smtp-in.l.google.com以及其他四個服務器名稱。

與通過dns查找電子郵件服務器名稱直接發送相比,使用現有的SMTP支持電子郵件發送電子郵件的優勢是什么? 還是不可能?

如果我錯了,請指正我,因為我對協議不太熟悉。

如果您不熟悉該協議,那么嘗試實施該協議就沒有任何意義。

通常,像您這樣的應用程序無需擔心SMTP協議的細節。 您將為平台使用現有的SMTP客戶端庫(我確定可以使用.NET的一個),然后連接到MTA( 您的 MTA,而不是收件人的MTA),並給它發送電子郵件,然后'重做。 MTA將處理所有SMTP協議細節,以弄清楚如何將電子郵件發送給收件人。

發送電子郵件非常類似於在角落的信箱中放一封信,然后讓郵局弄清楚如何發送。 您不需要知道要放哪輛車,收件人的本地郵局配送中心在哪里,也不需要任何這些細節。

您可以選擇使用Postfix之類的內容來設置自己的MTA,也可以通過自己的Gmail帳戶發送電子郵件(當然,在Gmail允許您這樣做之前,您需要一個Gmail帳戶和密碼)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM