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. iOS:shareSDK第三方登录

    shareSDK第三方登录跟分享差不多,比较简单,前面已有介绍.这里简单写一下第三方登录吧. 1.首先:我用到了QQ.微信.新浪这三个平台的登录,需要到它们各自的开发者平台注册开发者账号,这是我的QQ ...

  2. Error: Finish can only be called once

    Android studio 启动或者新建项目:报错“Error: Finish can only be called once” gradle缓存问题: 默认的额缓存路径在: on windows ...

  3. Android -- 消息处理机制源码分析(Looper,Handler,Message)

    android的消息处理有三个核心类:Looper,Handler和Message.其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道,因 ...

  4. RS报内存错误XQE-ROL-0183

    描述问题:RS开发了一个报表,里面涉及日期维度精细判断,还有FM里面做的权限处理,处理逻辑可能比较复杂,后面又加了一个case when的数据项结果就出现了下面的错误 下面就说一下处理方案 从字面意思 ...

  5. C#中Split用法~字符串分隔

    1.用字符串分隔: using System.Text.RegularExpressions;string str="aaajsbbbjsccc";string[] sArray= ...

  6. js 多域名跳转

    <script>try {if( self.location == "http://cnblogs.com/endv" ) { top.location.href = ...

  7. Unity5.1 新的网络引擎UNET(十五) Networking 引用--下

     孙广东 2015.7.21 本节提供了与网络系统一起使用的组件的具体信息. 10.Network Proximity Checker Suggest a change Success! Than ...

  8. iOS socket Stream 服务器端 及 客户端 演示

    iOS socket Stream 测试环境,mac osx 10.8 一:建立服务器端 由于mac osx10.8 已经集成 python2和 Twisted,我们可以直接利用此,构建一个简单的so ...

  9. vue - router 起步

    官方API:https://router.vuejs.org/zh/guide/#javascript vue-cli for index.js export default new Router({ ...

  10. python urllib2 httplib HTTPConnection

    httplib实现了HTTP和HTTPS的客户端协议,一般不直接使用,在python更高层的封装模块中(urllib,urllib2)使用了它的http实现. import httplib conn  ...