[英]How to get the SMTP server from email address
我想通過特殊的電子郵件帳戶自動發送郵件,但現在,我只知道電子郵件地址: tsp.monitor@qorosauto.com 和密碼。 那么您知道如何獲取 SMTP 服務器嗎? 下面是我的 C# 代碼:
SmtpClient client = new SmtpClient();
client.Host = "What is the SMTP Server, I want to get from email address, can you help me";
string account = "tsp.monitor@qorosauto.com";
string password = "Qoros111";
client.Port = 587;
client.EnableSsl = true;
client.Timeout = 100000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(account, password);
您可以通過獲取電子郵件地址的主機部分(在您的示例中為qorosauto.com
)並查找它的MX 記錄來找到域的 SMTP 服務器。
$ dig +short mx qorosauto.com
10 euq2.qorosauto.com.
5 euq1.qorosauto.com.
主機名前面的數字表示偏好 - 在這種情況下, euq1.qorosauto.com
是要連接的首選服務器。
在 .Net 中執行此操作並不簡單,因為此問題的答案表明: 如何使用 System.Net.DNS 獲取 dns 名稱的 mx 記錄?
雪上加霜的是,許多 ISP 會在防火牆中過濾您的連接,並且不會讓您與除 ISP 之外的任何 SMTP 服務器通信,后者又會將郵件轉發給收件人。
本質上,您希望使用您的 ISP 或組織的 SMTP 服務器- 而不是收件人 MX。
反復試驗可能會讓你到達那里..
如果您已經用盡了所有可能性,您將需要提供您自己的 SMTP 服務器。 有一些免費贈品服務器:
但是,如果您是專業人士,您可能想使用您組織的 SMTP 服務器,因此您可能想詢問您的老板或同事。
要找出負責的郵件服務器,您必須詢問 DNS。 例如,通過使用網絡轉到此 nslookup 頁面。
通常,您從提供商的域服務器開始,但您也可以從根服務器(例如 198.41.0.4)開始並請求域google.com
和查詢類型MX - Mail exchange
。
你會得到一個負責的 dns 服務器的列表。 只需從列表中選擇一個(例如 192.26.92.30)並將相同的查詢再次發送到該服務器。 重新運行這個序列,直到你得到一個類型為MX
的列表。 只需從該列表中選擇一個地址(可能是第一個,也可能是優先選擇丟失值的地址)並使用它來建立您的 smtp 連接。
這就是每個郵件服務器的工作方式。 現在由您來將其實現到您的應用程序中。 ;-)
您可以嘗試 mail.orosauto.com 或 smtp.orosauto.com。 登錄到您的域帳戶並檢查郵件設置。 希望你能在那里找到郵件服務器的詳細信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.