从任何电子邮件帐户向任何收件人发送电子邮

时间:2013-02-19 19:40:17

标签: c# email sendmail send

您能告诉我是否可以通过任何电子邮件帐户向C#发送电子邮件给任何收件人?我的意思是两者的smtp服务器是不同的。

我读了很多关于这方面的文章,尝试了不同的方法但没有效果。 使用一种方法我收到错误"邮箱不可用。服务器响应是:必须是本地收件人"。这意味着发件人和收件人应该来自同一个smtp服务器。

另一种方法来自codeproject。 通常情况下,电子邮件不会发送给某个收件人,有时会发送4次而不是一次。这对所有电子邮件地址都不可靠。

1 个答案:

答案 0 :(得分:2)

在C#中,您可以从任何帐户发送到任何帐户,前提是SMTP服务器允许您。您无法连接到随机SMTP服务器,并希望将该服务器上的邮件发送到某个其他服务器上的地址。这样的事情被称为开放中继,并且(或者至少曾经是)垃圾邮件的来源。

通常,如果要使用SMTP服务器发送邮件,则必须使用您的用户名和密码登录(验证)。这样,ISP就不会无意中造成垃圾邮件问题。登录后,您可以告诉SMTP服务器将您的邮件中继给在另一台服务器上拥有帐户的人。

如果要将邮件发送到name@somewhere.com并且无法登录到将为您执行中继的SMTP服务器,则需要直接连接到在某处提供域的SMTP服务器。 COM。即使这样,它也可能不接受你的邮件,具体取决于它的设置方式。 SMTP服务器通常会进行反向查找,以查看您的IP地址是否与已知(由DNS系统)知道的SMTP服务器的IP地址相匹配,以处理yourname@yourdomain.com的邮件。

C#中的SMTP支持将允许您连接到服务器,登录和发送邮件。服务器是否允许您这样做完全是另一回事。