JavaMail(二):smtp,pop3命令
2017-06-08 00:00
211 查看
SMTP命令
SMTP案例
执行结果分析
结果
POP3命令
HELO | 向服务器标识用户身份 |
EHLO | 向服务器标识用户身份 |
MAIL FROM | 发件人地址 |
RCPT TO | 标识单个的邮件接收人 |
DATA | 表示所有的邮件接收人已标识,并初始化数据传输 |
HELP | 查询服务器支持什么命令 |
NOOP | 要求接收SMTP仅做OK应答 |
VRFY | 验证指定的邮箱是否存在,由于安全因素,服务器多禁止此命令 |
EXPN | 验证给定的邮箱列表是否存在,扩充邮箱列表,也常禁止使用 |
REST | 退出/复位当前的邮件传输 |
QUIT | 要求接收SMTP返回一个OK应答并关闭传输 |
package com.levelcoder; import java.util.Properties; import javax.mail.Address; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class Demo1 { public static void main(String[] args) throws MessagingException { Properties props = new Properties(); props.setProperty("mail.smtp.auth", "true");//发送邮件是否需要认证 true 需要认证 false 不需要认证 props.setProperty("mail.transport.protocol", "smtp");//配置邮件协议 Session session = Session.getInstance(props); session.setDebug(true);//是否开启 调试信息 true 开启 false 不开启 开启的时候 会把和smtp交互过程打印出来 Message message = new MimeMessage(session) ; message.setFrom(new InternetAddress("发件人邮箱"));//设置发件人 message.setSubject("测试文本");//设置邮件标题 message.setText("测试文本");//设置发件文本信息 Transport transport = session.getTransport(); transport.connect("smtp服务器", 25,"用户名","密码");//String host, int port, String user,String password transport.sendMessage(message,new Address[]{new InternetAddress("收件人地址")}); transport.close(); } }
执行结果分析
DEBUG: setDebug: JavaMail version 1.4.4 //标记当前JavaMail版本 DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc] DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: trying to connect to host "smtp.126.com", port 25, isSSL false 220 126.com Anti-spam GT for Coremail System (126com[20140526]) DEBUG SMTP: connected to host "smtp.126.com", port: 25 EHLO N12KCKCM2UO42M8 //向服务器标识用户身份 250-mail 250-PIPELINING 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFG1q1wUCa0xDrUUUUj 250-STARTTLS 250 8BITMIME DEBUG SMTP: Found extension "PIPELINING", arg "" DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN" DEBUG SMTP: Found extension "AUTH=LOGIN", arg "PLAIN" DEBUG SMTP: Found extension "coremail", arg "1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFG1q1wUCa0xDrUUUUj" DEBUG SMTP: Found extension "STARTTLS", arg "" DEBUG SMTP: Found extension "8BITMIME", arg "" DEBUG SMTP: Attempt to authenticate DEBUG SMTP: check mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM AUTH LOGIN //认证模式 334 dXNlcm5hbWU6 SmF2YVpoYW5nWW9uZ0AxMjYuY29t //base64格式编码:用户名 334 UGFzc3dvcmQ6 enkxOTkyMTIwNS4= //base64格式编码:密码 235 Authentication successful DEBUG SMTP: use8bit false MAIL FROM:< 3ff0 JavaZhangYong@126.com> //发件人 250 Mail OK RCPT TO:<LevelCoder@126.com> //收件人 250 Mail OK DEBUG SMTP: Verified Addresses DEBUG SMTP: LevelCoder@126.com DATA 354 End data with <CR><LF>.<CR><LF> //.标记当前邮件结束 From: JavaZhangYong@126.com Message-ID: <772777427.0.1496972256323.JavaMail.Administrator@N12KCKCM2UO42M8> Subject: =?UTF-8?B?5rWL6K+V5paH5pys?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 //发送邮件类型 Content-Transfer-Encoding: base64 //发送邮件编码格式 5rWL6K+V5paH5pys //发送邮件正文 . 250 Mail OK queued as smtp1,C8mowACnPCXg+zlZqM5gAA--.23809S2 1496972258 QUIT //退出 221 Bye
结果
POP3命令
命令 | 描述 |
USER [username] | 处理用户名 |
PASS [password] | 处理用户密码 |
APOP [Name,Digest] | 认可Digest是MD5消息摘要 |
STAT | 处理请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数 |
UIDL [Msg#] | 处理返回邮件的唯一标识符,POP3会话的每个标识符都将是唯一的 |
LIST [Msg#] | 处理返回邮件数量和每个邮件的大小 |
RETR [Msg#] | 处理返回由参数标识的邮件的全部文本 |
DELE [Msg#] | 处理服务器将由参数标识的邮件标记为删除,由quit命令执行 |
RSET | 处理服务器将重置所有标记为删除的邮件,用于撤消DELE命令 |
TOP [Msg# n] | 处理服务器将返回由参数标识的邮件前n行内容,n必须是正整数 |
NOOP | 处理服务器返回一个肯定的响应 |
QUIT | 终止会话 |
相关文章推荐
- SMTP和POP3命令
- SMTP/POP3命令简介(转)
- SMTP&ESMTP&POP3 简要命令
- Email基础知识: SMTP/POP3 命令简介
- 用Telnet命令检测邮件服务器SMTP及POP3服务通信是否正常
- JavaMail系列(一) 理解邮件传输协议SMTP、POP3、IMAP、MIME
- javamail发信和收信机制(smtp、pop3、imap)
- Email基础知识: SMTP/POP3 命令简介
- SMTP POP3 命令
- JavaMail邮件开发-体验smtp和pop3协议(二)
- 转:Email基础知识: SMTP/POP3 命令简介
- smtp、esmtp、pop3命令使用
- javaMail基础之----pop3和smtp
- SMTP POP3 命令简介
- 今天偶上网查找相关SMTP与POP3协议,打算用JAVA语言来实现(想像中...),没想到得到了意外的收获
- JavaMail POP3 client
- POP3协议命令原始码及工作原理
- indy的smtp和pop3收发邮件过程中怎样实现进度条
- SMTP命令简介
- [zz]pop3命令