簡體   English   中英

如何從電子郵件地址獲取 SMTP 服務器

[英]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。

反復試驗可能會讓你到達那里..

  • mail.quorosauto.com
  • smtp.quorosauto.com
  • www.quorosauto.com
  • smtp.gmail.com

如果您已經用盡了所有可能性,您將需要提供您自己的 SMTP 服務器。 有一些免費贈品服務器:

http://freesmtpservers.com/

但是,如果您是專業人士,您可能想使用您組織的 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.

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