如何从电子邮件地址获取SMTP服务器

时间:2013-05-29 06:17:35

标签: c# .net email smtp

我想通过特殊的电子邮件帐户自动发送邮件,但现在,我只知道电子邮件地址: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);

4 个答案:

答案 0 :(得分:3)

您可以通过获取电子邮件地址的主机部分(示例中为qorosauto.com)并查找MX record来查找域的SMTP服务器。

$ dig +short mx qorosauto.com
10 euq2.qorosauto.com.
5 euq1.qorosauto.com.

主机名前面的数字表示首选项 - 在这种情况下euq1.qorosauto.com是要连接的首选服务器。

在.Net中执行此操作不是直截了当的,因为此问题的答案表明:How to get mx records for a dns name with System.Net.DNS?

为了解决这些问题,许多ISP会在防火墙中过滤您的连接,并且不允许您与除ISP之外的任何SMTP服务器通信,而ISP会将邮件转发给收件人。

基本上,您想要使用您的ISP或组织SMTP服务器 - 而不是收件人MX。

答案 1 :(得分:0)

试验和错误可能会让你到那里..

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

如果您已经充分考虑了每种可能性,那么您需要提供自己的SMTP服务器。有一些免费服务器:

http://freesmtpservers.com/

但是,如果你这样做是专业的,你可能想要使用你组织的SMTP服务器,所以你可能想问你的老板或同事。

答案 2 :(得分:0)

要查找负责任的邮件服务器,您必须询问DNS。例如,通过使用网络转到this nslookup page

通常您从提供商的域服务器开始,但您也可以从root-server开始(例如198.41.0.4)并要求提供域google.com和查询类型{{1} }。

您将获得一份负责任的DNS服务器列表。只需从列表中选择一个(例如192.26.92.30)并再次向该服务器发送相同的查询。重新运行此序列,直到您获得类型MX - Mail exchange的列表。只需从此列表中选择一个地址(可能是第一个,也许是优先丢失的值)并使用它来建立smtp连接。

这就是每个邮件服务器的工作方式。现在,您可以将它实现到您的应用程序中。 ; - )

答案 3 :(得分:0)

您可以尝试mail.orosauto.com或smtp.orosauto.com。登录您的域帐户并检查邮件设置。希望你能在那里找到邮件服务器的详细信息。