【问题标题】:Send email from any email account to any recipient [closed]从任何电子邮件帐户向任何收件人发送电子邮件[关闭]
【发布时间】:2013-02-04 15:13:49
【问题描述】:

您能否告诉我是否可以使用 C# 从 any 电子邮件帐户向 any 收件人发送电子邮件?我的意思是两者的 smtp 服务器是不同的。

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

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

【问题讨论】:

  • 是的,这是可能的,但这取决于您的 SMTP 服务器以及它如何允许您发送邮件。在我的项目中,我可以发送from任何人,to任何人。
  • 您可能应该在 serverfault.com 上问这个问题,因为它与编程无关,而是与安全和 SMTP 服务器/网关有关。

标签: c# email sendmail send


【解决方案1】:

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

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

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

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

【讨论】:

  • C# --> .NET 框架。就像说英语可以让你写一封来自任何人的信并将它发送给任何人;)
  • 感谢吉姆的回复。你说我可以使用 SMTP 服务器发送邮件,我必须使用我的用户名和密码登录(验证)。你的意思是我必须创建一些本地 SMTP 服务器 (localhost),它只会获取我的消息并将它们重定向到不同的收件人?
  • @EduardBagrov:我不是说你需要做什么,因为你还没有说你想做什么。您想知道是否可以使用 C# 发送邮件。答案是肯定的。更大的问题是处理 SMTP 服务器。你会在 serverfault.com 上得到更好的答案。
  • 我问了一个问题“如果有人知道怎么做(从任何邮箱向任何收件人发送邮件),请告诉我”,但只是注意到由于某种原因它被 Alexei Levenkov 删除了。无论如何,谢谢,我不知道 serverfault.com,还有很多要调查的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-15
  • 2016-02-22
  • 1970-01-01
  • 1970-01-01
  • 2019-06-16
  • 2018-10-01
  • 2017-05-22
相关资源
最近更新 更多