HELO localhost中“localhost”的意义

时间:2011-03-14 03:39:59

标签: smtp

在SMTP中,在HELO命令之后应该发生什么以及它做了什么?

我正在我的应用程序中发送电子邮件,我想知道是否应该使用 localhost ,即来自地址的域名(me @ example.com ),应用程序服务器的域名(发送电子邮件的域名)或其他内容。

2 个答案:

答案 0 :(得分:5)

HELO之后的参数应标识系统发送电子邮件。因此,您将为发送计算机使用外部可寻址的DNS名称。

请勿使用localhost,因为很多垃圾邮件软件会这样做,而且您的电子邮件会被标记为垃圾邮件。

来自RFC 2821

  

4.1.1.1扩展的HELLO(EHLO)或HELLO(HELO)

     

这些命令用于标识SMTP的SMTP客户端      服务器。参数字段包含完全限定的域名      SMTP客户端是否可用。

我通常会建议您使用真正的MTA,并将您的电子邮件交给MTA以便最终交付。这样你就不必重新发明SMTP协议的实现,这很容易出错。

答案 1 :(得分:1)

它应该是应用程序服务器的域名。

  HELO <SP> <domain> <CRLF>

  In the HELO command the host sending the command identifies
  itself; the command may be interpreted as saying "Hello, I am
  <domain>".

http://tools.ietf.org/html/rfc821