使用C#了解MX记录

时间:2010-11-30 21:10:45

标签: c# smtp mx-record

我可能错过了一些关于邮件传输如何实现的理解。

我想实现一个SMTP服务器,它会从客户端收到一封电子邮件,然后它会查找该域的收件人MX记录,以便将其传送到那里。

我不完全了解接下来会发生什么,是否通过IP连接到该域?到哪个港口?

我正在查看的示例是Gmail,它的MX服务器是gmail-smtp-in.l.google.com,我的程序是否需要在哪个端口上连接到此域?

谢谢

2 个答案:

答案 0 :(得分:3)

阅读:http://www.ietf.org/rfc/rfc5321.txt

简答:

发送电子邮件时。查找有问题的域名的mx记录。

如果存在MX,域名尝试通过端口25连接到它们,并按照RFC上传邮件。您按列出的首选项顺序连接到它们。较低的数字有较高的偏好。如果存在等价的MX,您可以随意选择一个。如果那个没有回答,请在链中更高的位置之前尝试相同的重量MX。如果没有mxs回答,那么排队邮件并再试一次..

如果不存在MX,请尝试传送到众所周知的端口25(SMTP)上的“A”记录。

但实际上,阅读RFC并熟悉它们,它会有很多帮助..

有点相关。如果要在Internet上实施SMTP服务器,请确保您能够在提交端口(587)以及标准端口25上接受SMTP认证的电子邮件。由于许多网络在端口上具有出站块25用于减少垃圾邮件的目的..

答案 1 :(得分:0)

SMTP在端口25上运行。此CodeProject article显示了使用C#发送/接收邮件的简单本地示例。