1

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

提前致谢

4

4 回答 4

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 响应,但这可能不会对您有太大帮助。

于 2012-06-24T23:20:58.587 回答
1

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

因为听起来您正在尝试构建与 GMail SMTP 互操作的东西,所以请记住,它不打算供桌面邮件客户端以外的任何东西使用。尝试通过 GMail 发送大量邮件会以失败告终。

于 2012-06-24T23:21:37.377 回答
1

几乎所有 Internet 服务(连接)提供商 (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 非常简单。

于 2012-06-24T23:34:29.663 回答
0

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

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

于 2014-07-22T23:57:47.053 回答