http://blog.csdn.net/ghsau/article/details/8602076

*******************************

最近要做一个解析邮件的东东,就顺便系统的搞一下JavaMail的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退出。

Java Mail(一):telnet实现发送收取邮件的更多相关文章

  1. java mail实现Email的发送,完整代码

    java mail实现Email的发送,完整代码 1.对应用程序配置邮件会话 首先, 导入jar <dependencies> <dependency> <groupId ...

  2. Java Mail(二):JavaMail介绍及发送一封简单邮件

    http://blog.csdn.net/ghsau/article/details/17839983 ************************************************ ...

  3. 使用Spring的JAVA Mail支持简化邮件发送(转)

    闲来无事,翻看<Spring in Action>,发现Spring集成了对JAVA Mail的支持,有点小激动的看了一遍,嗯,话说真的简单了很多. Spring的邮件发送的核心是Mail ...

  4. 基于Java Mail 进行发送(带附件和压缩附件)的邮件

    刚进公司的training, 下面是要求: Self-study of Java Mail library:  http://www.oracle.com/technetwork/java/javam ...

  5. Java Mail 邮件发送简单封装

    上一篇文章我们用写了一个Java Mail 的Demo,相信你已经可以用那个例子来发送邮件了.但是Demo 有很多的问题. 首先每次发送需要配置的东西很多,包括发件人的邮箱和密码.smtp服务器和SM ...

  6. Java Mail 邮件发送Demo

    上周公司的项目要求开发邮件发送功能.自己在网上跟着教程边学边做了一下午,现在基本开发完成了.由于一个同事也想看下该怎么写,顺便学习下.所以我就写成了一遍教程,顺便巩固下邮件发送里面的内容. Demo ...

  7. Java Mail邮件发送的简单实现

    1.什么是java mail JAVA MAIL是利用现有的邮件账户发送邮件的工具,通过JAVA Mail的操控,让程序自动的使用设置的邮箱发送邮件. 这一机制被广泛的用在注册激活和垃圾邮件的发送等方 ...

  8. java mail Received fatal alert: handshake_failure java 无法发送邮件问题 java 发送qq邮件(含源码)

     java 无法发送邮件问题 java 发送qq邮件 报错:java mail Received fatal alert: handshake_failure (使用ssl) javax.mail.M ...

  9. java mail邮件发送(带附件) 支持SSL

    java mail邮件发送(带附件)有三个类 MailSenderInfo.java package mail; import java.util.Properties; import java.ut ...

随机推荐

  1. openssl https 单向认证连接成功示例

    研究这个玩意也有几天的时间了,刚学C 因为不熟悉编译折腾了不少时间,终于弄通了,发个随笔给研究openssl https的同学一点提示吧. 环境: ========================== ...

  2. iOS: xcode打包上传iTunes失败,iTunes Store operation failed,this action can not complete .try again

    通过xcode点击“upload to app store”上传到itunes,结果一直提示“itunes store operation failed” 原因:网速的问题,我之前也遇到过,网速好的时 ...

  3. iOS:转载sqlite3

     SQLITE3 使用总结 2012-08-21 13:48:28 分类: SQLite/嵌入式数据库 SQLITE3 使用总结 2009-09-16 07:36 2624人阅读 评论(10) 收藏  ...

  4. C/C++下scanf的%匹配以及过滤字符串问题

    最近在写一个测试的小程序,由于用到了sscanf函数对字符串进行标准读入,而sscanf在很多方面都与scanf比较相像,于是对scanf进行了一番测试,遇到了一系列基础性的问题,恶补基础的同时也体现 ...

  5. java学习笔记11--集合总结

    java学习笔记系列: java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Ob ...

  6. 语音信号处理之(一)动态时间规整(DTW)

    语音信号处理之(一)动态时间规整(DTW) zouxy09@qq.com 原文:http://blog.csdn.net/zouxy09 这学期有<语音信号处理>这门课,快考试了,所以也要 ...

  7. 水晶报表WEB方式下不打印的问题

    水晶报表版本是10.2.3600.0,是vs2005自带的.功能原来正常,服务器重做后不能打印,但是导出功能正常. 研究的大概情况: 1.水晶报表的web相关代码位于\aspnet_client\sy ...

  8. html 中几次方,平方米,立方米.

    m的n次方表示法:mn m<sup>n</sup> 10<sup>6</sup> m的n次方表示法:mn m<sub>n</sub&g ...

  9. 数据库:mongodb与关系型数据库相比的优缺点zz (转)

    与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值 ...

  10. ASP.NET MVC4 Jquer 日期控件 测试范例

    <!doctype html>   <html lang="en"> <head> <meta charset="utf-8&q ...