Java Mail(一):telnet实现发送收取邮件

       最近要做一个解析邮件的东东,就顺便系统的搞一下Java Mail的API吧,以前搞过,现在都忘到十万八千里了,要说技术就得学以致用,要不全扔了。

       说起邮箱,工作中挺常用的工具,上学的时候都没怎么用。国内的邮箱系统相当多了,163、sina、sohu、qq,这些是耳熟能详针对普通用户的邮箱,还有很多针对企业用户的。邮箱有两种协议,一种是发送邮件的协议smtp,另一种是收取邮件的协议pop3、imap,每个邮箱系统都是按照这两种协议来实现的。

       我们平常可能会使用邮箱客户端,C/S的诸如outlook、foxmail,B/S的各大邮箱系统都会提供,如mail.xxxx.com,通过Java也可以实现,现在先通过telnet命令来实现发送一封简单的邮件。

telnet发送邮件

       1. 启动小黑框;

       2. 输入telnet命令,如果提示该命令不存在神马的,按如下操作:开始-->控制面板-->程序-->开启和关闭windows功能-->telnet客户端,如果显示“欢迎使用 Microsoft Telnet Client”,进入下一步;

       3. 输入telnet smtp.qq.com 25,这是连接到qq的smtp服务器,smtp默认端口是25,也可以连接其它邮箱的,连接成功后,会显示220 smtp.qq.com Esmtp QQ Mail Server神马的,220表示连接成功;

       4. 输入ehlo ghsaumiao,是和服务器打个招呼,不知道当初研究邮箱协议的大神为什么不直接用hello,而是颠倒过来呢,ehlo后面加的是自己邮箱账户;

       5. 输入auth login,登录验证;

       6. 输入邮箱用户名,自己的自己知道哈,不需要带@和后面的东西,另外需要base64加密,咋加密呢,有现成的应用啊,百度一下base64;

       7. 输入邮箱密码,也是base64加密,如果登陆成功会提示235 Authentication successful;

       8. 输入mail from: <ghsaumiao@qq.com>;

       9. 输入rcpt to: <java_mail_002@163.com>,发送到指定邮箱,注意格式一定要正确哦;

       10. 输入data,表示下面开始输入邮件正文;

       11. 输入from: <ghsaumiao@qq.com>,注意这个是收到邮件后,显示出来的邮件来自哪里,可以与真实邮箱不同哦;

       12. 输入subject: hello,邮件标题;

       13. 空一行,输入邮件内容,随便输入点啥,再换一行,输入“.”结束内容,输入quit退出。

       14. 最后进入接收邮件的收件箱,就能看到邮件了。

telnet收取邮件

       通过telnet命令来查看刚才发送的邮件。

       1. 启动小黑框;

       2. 输入telnet pop3.163.com 110,连接到163的pop3服务器,pop3默认端口是110,连接成功后,会显示welcome等字样;

       3. 输入user java_mail_002,输入用户名;

       4. 输入pass javamail,输入密码,这里不需要加密了;

       5. 输入stat,查看一下当前收件箱状态,我这里显示1 1500,表示1封邮件,占用1500字节;

       6. 输入list,查看收件箱列表;

       7. 输入list 序号,查看某一封邮件信息;

       8. 输入retr 序号,查看某一封邮件头及内容信息;

       9. 输入quit退出。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏七夜安全博客

(原创)python发送邮件

1143
来自专栏lgp20151222

Tomcat出现validateJarFile-jar not loaded问题

validateJarFile(...\WEB-INF\lib\servlet-api.jar)-jar not loaded. See Servlet Spe...

911
来自专栏lgp20151222

Weblogic Exception in AppMerge flows' progression

原因:经过分析是web.xml配置的问题,有些servlet上面配置了'display-name',这个weblogic是不支持的。 解决:在web.xml中...

932
来自专栏小文博客

拥有一个你的域名后缀的邮箱——admin@qcgzxw.cn

1606
来自专栏猿人谷

Python抓取中文网页

早就有想法把博客每天的访问流量记下来,刚好现在申请了GAE的应用,又开始学Python,正好拿这个练手。打算先利用Python把访问记录保存在本地,熟悉之后可以...

1955
来自专栏上善若水

P001PHP开发之PHP实现取得HTTP请求的原文相关信息

通过以下代码示例,我们可以知道,PHP如何获得请求的URL及请求的头部,body等具体信息;

632
来自专栏IT开发技术与工作效率

Outlook清理邮件

1274
来自专栏DeveWork

删除 WordPress 导航菜单的多余 CSS 选择器(id或class)

在默认情况下,WordPress 的导航菜单会输出很多如menu-item、menu-item-type-taxonomy、menu-item-object-c...

1828
来自专栏区块链

XSS攻击入门

反射性XSS XSS又叫CSS(Cross Site Script)跨站脚本攻击。它指的是恶意攻击者往Web页面TM入恶意代码,当用户浏览该页之时。嵌入其中We...

2345
来自专栏遊俠扎彪

TCP/UDP 尝试与不存在的服务器通信(TCP RST与UDP Unreachable)

《TCP/IP协议详解》上有提到两个问题:

2116

扫码关注云+社区