邮件传输协议主要包括SMTP、POP3和IMAP这三种
一、SMTP
简单邮件传输协议(SMTP),用于发送电子邮件,它定义了电子邮件客户端与服务器之间,以及服务器与服务器之间的通信规则。
SMTP协议采用客户端-服务器模式,客户端向服务器发送邮件请求,服务器根据请求将邮件发送到目标邮件服务器。
SMTP协议使用TCP/IP协议簇,默认端口为25或587
命令:
#客户端向服务器问候,表明连接已建立
HELO/EHLO example.com#指定邮件发送者的地址
MAIL FROM:<sender@example.com>#指定一个或多个邮件接收者的地址
RCPT TO:<recipient@example.com>#发送邮件正文和附件等内容
#客户端开始发送邮件内容,包括邮件头(From、To、Subject)和邮件正文。每行都以<CR><LF>结束
DATA#结束此次邮件发送会话,服务器关闭连接
QUIT
二、IMAP
互联网消息访问协议(IMAP),IMAP允许用户从邮件服务器上直接访问和管理邮件,支持邮件文件夹、实时同步以及远程操作邮件(如查看、删除、标记已读等)
IMAP在服务器上维护邮件的副本,用户可以从任何连接到服务器的设备上访问邮件
IMAP的默认端口为143,加密版本IMAPS的默认端口为993
命令:
# 请求服务器返回支持的功能
CAPABILITY# 发送用户名和密码进行身份验证
LOGIN# 创建新的邮箱文件夹
create "NewFolder"# 删除邮箱文件夹
delete "OldFolder"# 列出所有邮箱文件夹
list# 将邮件添加到特定邮箱,INBOX是邮箱文件夹,message是追加的内容
append "INBOX" {message}#选择要操作的邮件文件夹
SELECT "INBOX"#搜索符合特定条件的邮件
SEARCH "INBOX"#获取邮件的特定部分或属性,1 是邮件的唯一标识符,(RFC822) 指定了要获取的邮件部分的格式
FETCH "1" "(RFC822)"#设置或取消设置邮件的标志
#如:已读(\Seen)、已回答(\Answered)、已标记(\Flagged)、已删除(\Deleted)等
#将序列号为2到4的邮件标记为已读,取消就用减号
STORE 2:4 +\\Seen#结束会话,关闭连接
LOGOUT
三、POP3
邮局协议版本3(POP3)用于从邮件服务器获取邮件,POP3主要用于接收电子邮件,允许用户从服务器上下载并存储邮件到本地设备
POP3是因特网电子邮件的第一个离线协议标准,它支持用户远程管理在服务器上的电子邮件。但由于其离线操作的特性,邮件只能在一个设备上访问
POP3的默认端口为110,加密版本POP3S的默认端口为995
命令:
#发送用户名
USER user@example.com#发送密码
PASS password#请求服务器返回邮箱的状态信息
STAT#请求服务器返回邮件列表,包括索引和邮件大小
LIST 1#请求服务器返回指定索引号的邮件内容(下载)
RETR 1#标记指定索引号的邮件为删除状态
DELE 1#结束会话,服务器删除标记为删除的邮件并关闭连接
QUIT