SMTP服务器
无论何时发送电子邮件,电子邮件客户端都会与SMTP服务器交互以处理发送。主机上的SMTP服务器可能与其他SMTP服务器进行对话以发送电子邮件。
假设我想发送一封电子邮件。我的邮箱ID是brain,我在howstuffworks.com上有我的账号。18新利最新登入我想发邮件到jsmith@mindspring.com。我使用的是独立的电子邮件客户端,比如Outlook Express。
广告
当我在howstuffworks建立我的帐户时,我告诉O18新利最新登入utlook Express邮件服务器的名称- mail.howstuffworks.com。当我撰写消息并按下发送按钮时,会发生以下情况:
- Outlook Express使用端口25连接到mail.howstuffworks.com的SMTP服18新利最新登入务器。
- Outlook Express与SMTP服务器进行对话,告诉SMTP服务器发件人的地址和收件人的地址,以及邮件正文。
- SMTP服务器接收“收件人”地址(jsmith@mindspring.com),并将其分为两部分:收件人名(jsmith)和域名(mindspring.com)。如果“收件人”地址是howstuffworks.com的另一个用户,SMTP服务器将简单地18新利最新登入将消息传递给howstuffworks.com的POP3服务器(使用一个称为的小程序)投递代理).由于接收者在另一个域,SMTP需要与该域通信。
- SMTP服务器与域名服务器,或DNS(见18新利最新登入Web服务器如何工作详情)。它说"你能给我mindspring.com的SMTP服务器的IP地址吗"DNS会回复Mindspring操作的SMTP服务器的一个或多个IP地址。
- howstuffworks.com上的18新利最新登入SMTP服务器通过端口25与Mindspring上的SMTP服务器连接。它与我的电子邮件客户端与HowStuffWorks的SMTP服务器进行了相同的简单文本对话,并将消息传递给Mindspring服务器。18新利最新登入Mindspring服务器识别出jsmith的域名在Mindspring,因此它将消息传递给Mindspring的POP3服务器,该服务器将消息放入jsmith的邮箱中。
如果由于某种原因,HowStuffWorks中的SMTP服务器无法与Mindsp18新利最新登入ring中的SMTP服务器连接,则消息将进入队列。大多数机器上的SMTP服务器使用一个名为sendmail来进行实际的发送,所以这个队列叫做sendmail队列.Sendmail将定期尝试重新发送其队列中的消息。例如,它可能每15分钟重试一次。四个小时后,它通常会给你发一封邮件,告诉你有某种问题。五天后,大多数sendmail配置都会放弃,并将邮件退回给您。
SMTP服务器可以理解非常简单的文本命令,如HELO、MAIL、RCPT和DATA。最常见的命令是:
- 直升机-自我介绍
- EHLO-自我介绍并要求扩展模式
- 邮件:-指定发件人
- 收件人:-指定收件人
- 数据-指定消息的主体(To, From和Subject应该是前三行)。
- 资源集——重置
- 辞职-退出会话
- 帮助-获取命令方面的帮助
- VRFY-验证地址
- EXPN-扩展地址
- 动词——详细