- 浏览: 191891 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
chmadmin:
求源码,参考下
Extjs做的一个图书管理系统(详细解析) -
wilddonkey:
lz,我现在自定义了转换器,但是如果输入为空,则自动跳过,虽然 ...
struts2-ognl.MethodFailedException: Method "setId" failed for object -
accpchf:
/** * 懒汉式, * 既有延迟加载功能又能保证线程安全, ...
J2EE面试题集锦(附答案) -
accpchf:
java编程第三题明显错误 A ab = new B(); ...
J2EE面试题集锦(附答案) -
风雨故都:
求源码。参考一下
Extjs做的一个图书管理系统(详细解析)
SMTP的连接和收发过程:
a.建立TCP连接。
b.客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令服务器端正希望以OK作为响应,表明准备接收。
c.客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行
d.协商结束,发送邮件,用命令DATA发送
e.以.表示结束输入内容一起发送出去
f.结束此次发送,用QUIT命令退出。
SMTP的基本命令集:
HELO 向服务器标识用户身份
MAIL 初始化邮件传输mail from:
RCPT 标识单个的邮件接收人;常在MAIL命令后面可有多个rcpt to:
DATA 在单个或多个RCPT命令后,表示所有的邮件接收人已标识,初始化数据传输,以.结束。
NOOP 无操作,服务器应响应OK
RSET 重置会话,当前传输被取消
QUIT 结束会话
POP3简介:
在POP3协议中有三种状态,认可状态,处理状态,和更新状态。当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出quit命令,则进入更新状态,更新之后最后重返认可状态。
POP3基本命令集:
USER username
PASS password
STAT 请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数
LIST 返回邮件数量和每个邮件的大小
RETR [Msg#] 返回由参数标识的邮件的全部文本
DELE [Msg#] 服务器将由参数标识的邮件标记为删除,由quit命令执行
RSET 服务器将重置所有标记为删除的邮件,用于撤消DELE命令
NOOP 服务器返回一个肯定的响应
QUIT 更新
class POP3Demo { private static String POP3Server = "pop.126.com"; private static String USERNAME = "username";//实际应用中改成真实的用户名 private static String PASSWORD = "password";//实际应用中改成真实的密码 public static void main(String[] args) { int POP3Port = 110; Socket client = null; try { // 向POP3服务程序建立一个套接字连接。 client = new Socket(POP3Demo.POP3Server, POP3Port); // 创建一个BufferedReader对象,以便从套接字读取输出。 InputStream is = client.getInputStream(); BufferedReader sockin = new BufferedReader(new InputStreamReader(is)); // 创建一个PrintWriter对象,以便向套接字写入内容。 OutputStream os = client.getOutputStream(); PrintWriter sockout = new PrintWriter(os, true); // 显示同SMTP服务程序的握手过程。 System.out.println("S:" + sockin.readLine()); sockout.println("user " + POP3Demo.USERNAME); System.out.println("S:" + sockin.readLine()); sockout.println("pass " + POP3Demo.PASSWORD); System.out.println("S:" + sockin.readLine()); sockout.println("stat"); String temp[] = sockin.readLine().split(" "); int count = Integer.parseInt(temp[1]);//得到信箱中共有多少封邮件 for (int i = 1; i < count + 1; i++) {//依次打印出邮件的内容 sockout.println("retr " + i); System.out.println("以下为第" + i + "封邮件的内容"); while (true) { String reply = sockin.readLine(); System.out.println(reply); if (reply.toLowerCase().equals(".")) { break; } } } } catch (IOException e) { System.out.println(e.toString()); } finally { try { if (client != null) { client.close(); } } catch (IOException e) {} } } } class SMTPDemo { //以下三项请在使用时改成真实的信箱地址 //并且注意,SMTPServer和receiver必须是同一个服务器 private static String sender = "sender"; private static String receiver = "receiver"; private static String SMTPServer = "smtpserver"; public static void main(String[] args) { int SMTPPort = 25; Socket client = null; try { // 向SMTP服务程序建立一个套接字连接。 client = new Socket(SMTPDemo.SMTPServer, SMTPPort); // 创建一个BufferedReader对象,以便从套接字读取输出。 InputStream is = client.getInputStream(); BufferedReader sockin = new BufferedReader(new InputStreamReader(is)); // 创建一个PrintWriter对象,以便向套接字写入内容。 OutputStream os = client.getOutputStream(); PrintWriter sockout = new PrintWriter(os, true); // 显示同SMTP服务程序的握手过程。 System.out.println("S:" + sockin.readLine()); sockout.println("helo"); System.out.println("S:" + sockin.readLine()); sockout.println("mail from: " + "<" + SMTPDemo.sender + ">"); System.out.println("S:" + sockin.readLine()); sockout.println("rcpt to: " + "<" + SMTPDemo.receiver + ">"); System.out.println("S:" + sockin.readLine()); sockout.println("data"); //发送邮件标题 sockout.println("subject: 你好"); //发送邮件内容 sockout.println("ni hao"); sockout.println("wo shi li jian"); //此处的.为特殊标记,表示邮件结束 sockout.println("."); sockout.println("rset"); sockout.println("quit"); } catch (IOException e) { System.out.println(e.toString()); } finally { try { if (client != null) { client.close(); } } catch (IOException e) {} } } }
发表评论
-
java版RC4加密解密算法
2010-10-25 11:01 3766我们的一个项目,需要解析一个用户提供的rc4加密后的文件,特 ... -
JAVA7新特性
2010-09-30 14:38 990Java7新特性 1.运行速度提高了,这个得益于Java7采用 ... -
Java Web开发(JSP、Servlet)乱码终极解决方案
2010-09-30 08:40 1478千万不要看网上那些杂七杂八的解决乱码的文章,解决乱 ... -
马士兵struts2学习笔记(详细版)
2010-09-29 15:57 171515、23_尚学堂马士兵_Struts2_模块包含 ... -
JAVA华为面试题
2010-09-29 15:49 3625这是华为Java的主要面试题目宝典。。。。真的是很有用。。。我 ... -
JVM学习笔记(四)------内存调优
2010-09-29 11:19 938首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别J ... -
JVM学习笔记(三)------内存管理和垃圾回收
2010-09-29 11:15 813JVM内存组成结构 JVM栈 ... -
JVM学习笔记(二)------Java代码编译和执行的整个过程
2010-09-29 11:10 1030Java代码编译是由Java源码编译器来完成,流程图 ... -
JVM学习笔记(一)------基本结构
2010-09-29 11:04 841从Java平台的逻辑结构上来看,我们可以从下图来了解JVM: ... -
Java调用外部exe程序方法
2010-09-29 09:20 1134用java调用外部.exe程序的方法: public ... -
EXT+DWR+SPRING+IBATIS+ORACLE分页显示+模糊查询
2010-09-28 13:14 2079EXT代码: Ext.onReady(fun ... -
Java编程把Word转Pdf
2010-09-28 08:42 2138我的word转pdf用到了一个虚拟的打印机,安装一个Adobe ... -
利用JSP实现的验证码
2010-09-28 08:38 761image.jsp <%@ page contentT ... -
经典的jsp分页显示
2010-09-28 08:34 744< %@ page contentType=" ... -
java类的设计技巧
2010-09-27 09:31 9151)一定将数据设计为私 ... -
谈谈java中的NaN值
2010-09-27 09:26 1041什么是NaN ?下面是我查到的结果。 Double中的 ... -
Java Jdbc查询MySQL数据库示例
2010-09-27 09:23 1745import java.sql.Connection; im ... -
Struts2 Error filterStart异常的解决方法总结
2010-09-27 09:01 943今天一位网友让polaris帮忙解决一些jqGrid的问题。在 ... -
JAVA开发编程规范
2010-09-27 08:55 878××××-××-××发布 ... -
MyEclipse实用小技巧归纳
2010-09-27 08:49 770第一步: 取消自动validati ...
相关推荐
使用telnet协议来收发邮件(SMTP和POP3) q.docx使用telnet协议来收发邮件(SMTP和POP3) q.docx使用telnet协议来收发邮件(SMTP和POP3) q.docx使用telnet协议来收发邮件(SMTP和POP3) q.docx使用telnet协议来收发邮件...
用VC做邮件收发SMTP、POP3程序 用VC做邮件收发SMTP、POP3程序
该课程设计主要任务是实现收发无附件的邮件。在上机前应认真做好各种准备工作,熟悉每个题目涉及的网络相关知识,熟悉机器的操作系统、语言的集成环境和设计工具。在实验过程中,通过一个实际网络协议或网络应用系统...
10172911梁天一用Telnet命令收发邮件(SMTP和POP3协议)实验报告.docx
用Telnet命令收发邮件(SMTP和POP3协议)实验报告.docx
详细介绍了SMTP和POP3发送邮件和接收邮件并有源代码,可用于学习,也可直接用在自己的项目中去
通过这个实验对SMTP和POP3有一定了解
c++实现SMTP、POP3收发邮件,有任何缺点和不足,望广大网友们指正,希望大家共同进步!!!
首先感谢mc,是他的程序给了我灵感,和初学的帮助。 mc的程序,不能发送邮件,在此我修改了错误,可以正常的发送邮件。 界面也从新整合个人认为更符合操作习惯 并增加了接受功能,只是该部分还没有完全实现...
可运行,发送端可发送带附件的邮件,附件大小只测试过5M的...接收的邮件没有将报文头和正文、附件分开,附件也没有base64解码,有需要的自己添加功能。由于是为了应对课设,所以也没讲究太多,出错的地方还请大家指正。
该文档代码在VS2017创建,可以通过连接服务器进行邮件的简单收发。为什么CSDN下载的积分,需要那么高,这不是害人吗
仿FoxMail做的 是我们软件答辩作品希望大家多提意见
基于SMTP协议,编写程序模拟邮件系统收发邮件的运行过程。要求具有如下功能: 1、 用户能够注册,登录; 2、 用户能够注册; 3、 用户登录后能查看并编辑用户注册信息;可以发信给其它用户;查看来信,对来信进行...
发邮件时使用的SMTP协议,收邮件则是POP3协议,Java,Eclispse开发,界面JFrame,QQ邮箱POP3服务器一直连不上,所有我就用163邮箱了。 功能则是可以进行简单的邮件收发
基于SMTP和POP3协议的EMAIL收发软件 C#课程设计
实验报告请私聊-升级版见其它资源 关于要求:编程实现通过用户界面,用户登录信箱认证过程(含base64方式...这意味着除了使用SMTP协议发送邮件外,还需设计使用POP3协议接收邮件,在接收的时候采用黑白名单过滤的功能。
C#课程设计 含有程序和文档 基于SMTP和POP3协议的EMAIL收发软件
综合使用了Socket和JavaMail实现了邮件的收发并支持SMTP,POp3协议,带有web界面,实现了邮件的收发删除查看上传下载附件。并带有搜索邮件等功能
visual c++基于SMTP,POP3收发电子邮件.zip
计网课设做的东西,是在虚拟机XP的VC++上实现,,可收发邮件,邮件可带附件,发送过5M左右的附件更大的没有试过。邮件接收可行,但邮件头部和正文没有分开,附件也没有经过Base64解码,又需要的同学可以自己添加功能...