gpt4 book ai didi

c# - 在 C# 中发送电子邮件

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:40 25 4
gpt4 key购买 nike

是否可以在 C# 控制台中发送电子邮件,不需要 SMTP 服务器?

编辑:为什么我需要另一个 SMTP 服务器?我不能将我的本地主机用作服务器......吗?

编辑:
我只需要用我的域名发送一封电子邮件,例如abc@mydomain.com

这可能吗?我需要在我的 C# 程序中做什么...我不关心接收电子邮件,我只关心发送它们....

谢谢

最佳答案

如果您没有本地 SMTP 服务器,则不必依赖它。但是,无论如何您都必须连接到 SMTP 服务器。原因如下。

您必须完成以下步骤:

  • 确定给定域的邮件交换服务器是什么。
  • 连接到该邮件交换服务器并发送您的邮件。

这些步骤通常由您的本地 SMTP 服务器完成。本地 SMTP 服务器的另一个优势是它将处理其队列并在失败时继续尝试发送您的电子邮件。

如何确定给定域的MX记录。

我建议你看看这个answer .基本上,您必须在 DNS 服务器上进行查询,以获取您要向其发送电子邮件的电子邮件地址的域名的 MX 记录列表。

如何连接到邮件交换服务器

好吧,答案会让你失望。就像您连接到本地 SMTP 服务器一样。使用 TcpClient ,您连接到您在上一步中通过端口 25 获得的其中一个邮件交换服务器,并使用 SMTP protocol 开始传递过程.

这里的技巧是您必须处理多个 MX 服务器。它们通常以优先顺序列出。如果第一个无法访问,则尝试下一个,依此类推...

这也是您的 SMTP 服务器可以为您处理的事情。

如果您真的想自己构建该逻辑,请查看SmtpClientDirectSend 方法|我参与的这个开源项目的类。

关于c# - 在 C# 中发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4333898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com