linux 系统在终端中用SMTP协议发邮件

首先了解一下邮件的工作原理:

电子邮件工作原理

      电子邮件的工作过程遵循客户-服务器模式。每份电子邮件的发送都要涉及到发送方与接收方,发送方式构成客户端,而接收方构成服务器,服务器含有众多用户的电子信箱。发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器(SMTP服务器)发送。邮局服务器识别接收者的地址,并向管理该地址的邮件服务器(POP3服务器)发送消息。邮件服务器识将消息存放在接收者的电子信箱内,并告知接收者有新邮件到来。接收者通过邮件客户程序连接到服务器后,就会看到服务器的通知,进而打开自己的电子信箱来查收邮件。
     通常Internet上的个人用户不能直接接收电子邮件,而是通过申请ISP(Internet Service Provider的缩写,意为“Internet服务提供商”)主机的一个电子信箱,由ISP主机负责电子邮件的接收。一旦有用户的电子邮件到来,ISP主机就将邮件移到用户的电子信箱内,并通知用户有新邮件。因此,当发送一条电子邮件给一另一个客户时,电子邮件首先从用户计算机发送到ISP主机,再到Internet,再到收件人的ISP主机,最后到收件人的个人计算机。
      ISP主机起着“邮局”的作用,管理着众多用户的电子信箱。每个用户的电子信箱实际上就是用户所申请的帐号名。每个用户的电子邮件信箱都要占用 ISP主机一定容量的硬盘空间,由于这一空间是有限的,因此用户要定期查收和阅读电子信箱中的邮件,以便腾出空间来接收新的邮件。

      电子邮件在发送与接收过程中都要遵循SMTP、POP3等协议,这些协议确保了电子邮件在各种不同系统之间的传输。其中,SMTP负责电子邮件的发送,而POP3则用于接收Internet上的电子邮件。


SMTP-简单邮件传输协议(SimpleMailTransferProtocol),是定义邮件传输最常用的协议,它是基于TCP服务的应用层协议;

在linux环境下,使用"telnet smtp.163. com 25"连接smtp.163. com的25号端口(SMTP的标准服务端口);在windows下使用telnet程序,远程主机指定为smtp.163. com,而端口号指定为25,然后连接smtp.163. com:交互过程如下:

注意:基本上一句是自己写的,一句是返回的;

[lix@nslix]$telnet smtp.163. com 25

220 163 .com Anti-spam GT for Coremail System (163com[071018])
HELO smtp.163 .com
250 OK
auth login
334 dXNlcm5hbWU6
USERbase64加密后的用户名(注意:这个自己转换一下)
334 UGFzc3dvcmQ6
PASSbase64加密后的密码(注意,同用户名)
235 Authentication successful
MAILFROM:XXX@163 .COM(自己的邮箱)
250 Mail OK
RCPTTO:XXX@163 .COM(收件人的邮箱)
250 Mail OK
DATA
354 End data with .
QUIT
250 Mail OK
queued as smtp5,D9GowLArizfIFTpIxFX8AA==.41385S2

这样,基本上在终端中就就发送邮件了。

你可能感兴趣的:(linux知识)