使用telnet发送邮件

通过Telnet实践,能够大大加深对TCP/IP协议栈的理解。这里,选取应用层的SMTP协议,通过Telnet,创建一个向任何接收方发送电子邮件的简单邮件客户。

这里,选取常用的两个邮箱(qq邮箱、gmail),首先创建一个与smtp.qq.com的TCP连接(这里需要身份验证),然后使用SMTP协议与邮件服务器进行交谈,经该邮件服务器(一个QQ邮箱)向某接收方(一个gmail邮箱)能够一个电子邮件报文,最后关闭与该邮件服务器的TCP连接。下面是具体实现:

swangooseman:~$ telnet smtp.qq.com 25 //telnet到邮件服务器的25 SMTP端口
Trying 163.177.65.211…
Connected to smtp.qq.com.
Escape character is ‘^]’.
smtp.qq.com Esmtp QQ Mail Server // 服务器返回

ehlo a // 用ehlo申明,表示自己需要身份验证
250-smtp.qq.com
250-PIPELINING
250-SIZE 73400320
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN
250-MAILCOMPRESS
8BITMIME // 服务器返回

auth login // 用这个命令表示身份验证开始
VXNlcm5hbWU6 // 服务器返回
ODQ3OTQxNTMz // 用户名经过base64编码的串,转换:http://www.mxcz.net/tools/base64.aspx
UGFzc3dvcmQ6 // 服务器返回
****** // 密码,也要经过base64编码
Authentication successful // 服务器返回

mail from: 847941533@qq.com // 声明邮件来源email地址
Ok // 服务器返回
rcpt to: swangooseman@gmail.com // 声明目的email地址
Ok // 服务器返回

data // 邮件开始
End data with . // 服务器返回
subject: Test // 主题
from: 847941533@qq.com
to: swangooseman@gmail.com

Hello! My name is swangooseman!
Pleased to meet you. This is my first e-mail by SMTP server!
. // “.”号表示邮件主体的结束。
Ok: queued as
quit // 请求与服务器断开链接
Bye
Connection closed by foreign host. // 服务器返回
swangooseman:~$ // 至此,通过SMTP,邮件发送完成,可登陆到邮箱查看。

这里写图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值