前言
学习邮件系统的相关知识后,实际操作一下。应用一下具体的命令行。
正文
要看看我计算机网络应用层基础总结的这里
smtp协议
- 常见命令
| 命令行 | 作用 |
|---|---|
| helo smtp | 和服务器打招呼,测试登陆进去没 |
| auth login | 登陆具体邮箱,用户名和密码是经过base64加密的 |
| mail from | 输入邮件的发送方 |
| rcpt to | 输入邮件的接收方 |
| data | 开始编写邮件 |
| quit | 退出 |
- 常见的反馈代码
| 代码 | 含义 |
|---|---|
| 220 | smtp已处于在线状态,可以进行相关操作 |
| 221 | 关闭smtp服务 |
| 250 | 当前操作已经正确完成 |
| 334 | 等待输入,在登陆用户是出现 |
| 235 | 验证成功 |
| 535 | 验证失败 |
- 实际操作
我是使用163邮箱发邮件到gmail中。
- 开启smtp服务
要在官网中设置一下,官网
找到设置->POP3/SMTP/IMAP,开启这几个服务,结果如下图
获得授权码
点击客户端授权密码按要求完成,并且记录下授权码,之后登陆就用这个授权码。
OK,设置至此完成了 - 账户验证
终端先连接smtp服务,并向服务器打招呼,看是否得到正确回应
telnet smtp.163.com 25
helo smtp
之后就要验证账号密码了,账号(不包括@163.com)和密码(刚刚设置的授权码)都是base64加密后的,可以在线加密 加密网址
auth login
#base64 encode过的账号
#base64 encode过的授权码
如果出现了535 Authentication failed 可能是,账号授权码问加密,账号把@163.com一起加密输进去了,输入授权码而不是密码
- 发送邮件
mail from <[email protected]>
rcpt to <examplemail>
data #开始写邮件
值得注意的是,写邮件的头部信息包含from、to以及subject,这三项之后跟空格然后才是对应的内容,并且头部信息和正文以空行分割,.邮件结束,发送邮件.
4. 查看结果
打开163,在发件箱查看
OK。
pop3协议
pop3默认端口为110。pop3协议有两个阶段:
- 认证阶段
用户端输入用户名、密码进行认证,服务器端返回OK或者ERR - 事务阶段
可以对邮件基本操作。
常用命令
| 命令 | 作用 |
|---|---|
| user | 输入用户名 |
| pass | 输入密码 |
| list | 列出消息数量,并且自动编号 |
| retr | 根据消息编号检索消息 |
| dele | 删除消息 |
| quit | 退出 |
实例操作
大体流程是使用telnet登陆、身份认证、进入事务阶段,基本操作
telnet pop.163.com 110
成功后会返回OK .....省略,如图:
进入认证阶段,输入的内容都不需要进行加密
user username
pass 授权码
如果出现了ERR返回码,则可能是:
- 输入用户名加上了@xx.com
- 没有输入授权码,而是输入了密码
- 拼写有错误
认证成功后即进入事务阶段。这里,我先列出我的所有邮件,然后查看一封,最后删除这一封,并且在163邮箱官网验证结果。
list
查看第一封邮件
retr 1
找到具体内容
最后删除并退出
dele 1
quit
然后在官网进行验证。
提示我们已经删除,并且备份到客户端删信文件夹,到文件夹看一下,对比是不是我们删除的。
查看内容
确实是我们删除的。