Gmail是否支持RFC 821?

时间:2012-06-24 23:15:58

标签: c# sockets network-programming c#-3.0 gmail

Gmail是否支持RFC 821?我知道它正在使用ESMTP。基于理解ESMTP是RFC 1869.但我必须使用C#的RFC 821命令并想要测试它。如果Gmail不提供支持,是否有任何服务器为开发人员提供此服务?

提前致谢

4 个答案:

答案 0 :(得分:3)

RFC1869为服务器可以支持的SMTP协议定义了一组扩展。它们是RFC 821中描述的标准SMTP协议的补充。换句话说,任何支持RFC 1869的服务器也必须支持RFC 821.较新的标准使其明确:

  

4.1。对STD 10,RFC 821的更改

     

本规范旨在扩展STD 10,RFC 821      以任何方式影响现有服务。需要做的微小改动是      列举如下。

如果客户端连接到此类服务器并发出标准HELO命令,则应该获得一个说SMTP的服务器。但是,如果您需要使用任何SMTP扩展,则需要发出扩展命令EHLO,这表示客户端也使用RFC1869。

但是,仅仅因为服务器说SMTP并不意味着它会和你说 。特别地,服务器可能需要根据RFC 4954进行认证(例如,需要AUTH LOGIN或类似命令,或者用于加密通信的STARTTLS命令)。如果在发出命令之前未能正确进行身份验证,则服务器可以合法地发送SMTP错误。虽然这个错误将是每个RFC 821的合法SMTP响应,但这可能不会帮助你。

答案 1 :(得分:1)

RFC 1869(ESMTP)是RFC 821(SMTP)的改进,而不是单独的协议。您仍然可以将基本SMTP与ESMTP服务器通信 - 事实上,ESMTP服务器需要支持它。

由于听起来您正在尝试构建与GMail SMTP互操作的内容,因此请记住,除了桌面邮件客户端之外,其他任何内容都不能使用它。试图通过GMail发送批量邮件将会非常糟糕。

答案 2 :(得分:1)

几乎所有互联网服务(连接)提供商(ISP)都为其客户提供SMTP服务器以用于发送电子邮件。你的ISP帮助页面无疑解释了如何做到这一点 - 它可能会提到像smtp.comcast.net或smtp.whatver.net这样的东西。

但很可能,他们不会让您每天通过该端口发送超过一定数量的电子邮件。并且,他们当然不会让你通过它发送任何消息,除非你在他们的网络上的机器上。

您也可以使用gmail的smtp服务器。但是,为了做到这一点,您的客户端软件将需要能够使用TLS,端口587和身份验证(使用您的Gmail用户名和密码)。看这里: http://support.google.com/mail/bin/answer.py?hl=en&answer=86374

与smtp服务器进行身份验证和加密通信的这种需求可能会让您的调试工作变得非常困难。最好找到一个可以测试的开放式SMTP服务器。

好消息:RFC821很简单。

答案 3 :(得分:0)

雅虎可以向rfc821邮件服务器发送电子邮件。

另一个amazin工具是https://www.wormly.com/test_smtp_server