- 浏览: 197072 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
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 3820我们的一个项目,需要解析一个用户提供的rc4加密后的文件,特 ... -
JAVA7新特性
2010-09-30 14:38 1036Java7新特性 1.运行速度提高了,这个得益于Java7采用 ... -
Java Web开发(JSP、Servlet)乱码终极解决方案
2010-09-30 08:40 1544千万不要看网上那些杂七杂八的解决乱码的文章,解决乱 ... -
马士兵struts2学习笔记(详细版)
2010-09-29 15:57 175515、23_尚学堂马士兵_Struts2_模块包含 ... -
JAVA华为面试题
2010-09-29 15:49 3662这是华为Java的主要面试题目宝典。。。。真的是很有用。。。我 ... -
JVM学习笔记(四)------内存调优
2010-09-29 11:19 984首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别J ... -
JVM学习笔记(三)------内存管理和垃圾回收
2010-09-29 11:15 855JVM内存组成结构 JVM栈 ... -
JVM学习笔记(二)------Java代码编译和执行的整个过程
2010-09-29 11:10 1060Java代码编译是由Java源码编译器来完成,流程图 ... -
JVM学习笔记(一)------基本结构
2010-09-29 11:04 882从Java平台的逻辑结构上来看,我们可以从下图来了解JVM: ... -
Java调用外部exe程序方法
2010-09-29 09:20 1171用java调用外部.exe程序的方法: public ... -
EXT+DWR+SPRING+IBATIS+ORACLE分页显示+模糊查询
2010-09-28 13:14 2113EXT代码: Ext.onReady(fun ... -
Java编程把Word转Pdf
2010-09-28 08:42 2193我的word转pdf用到了一个虚拟的打印机,安装一个Adobe ... -
利用JSP实现的验证码
2010-09-28 08:38 802image.jsp <%@ page contentT ... -
经典的jsp分页显示
2010-09-28 08:34 782< %@ page contentType=" ... -
java类的设计技巧
2010-09-27 09:31 9501)一定将数据设计为私 ... -
谈谈java中的NaN值
2010-09-27 09:26 1088什么是NaN ?下面是我查到的结果。 Double中的 ... -
Java Jdbc查询MySQL数据库示例
2010-09-27 09:23 1850import java.sql.Connection; im ... -
Struts2 Error filterStart异常的解决方法总结
2010-09-27 09:01 991今天一位网友让polaris帮忙解决一些jqGrid的问题。在 ... -
JAVA开发编程规范
2010-09-27 08:55 918××××-××-××发布 ... -
MyEclipse实用小技巧归纳
2010-09-27 08:49 815第一步: 取消自动validati ...
相关推荐
每个邮件是一个MailMessage对象,可从中获取邮件头信息和邮件正文。 - 存储和处理邮件:邮件接收后,通常会将其存储在数据库或文件系统中,以便后续查询和处理。在这个项目中,数据库部分将扮演重要角色。 4. **...
### Java邮件开发知识点详解 #### 一、JavaMail概述 JavaMail API 是一个用于收发电子邮件的标准Java API,它提供了一套丰富的API来处理各种邮件相关的任务,包括发送、接收邮件,以及处理邮件中的附件等功能。 ...
### Python使用SMTP与POP3简单收发邮件完整实例详解 #### SMTP与POP3协议简介 在探讨具体的Python代码实现之前,我们先来了解下SMTP与POP3这两种协议的基础概念。 **SMTP (Simple Mail Transfer Protocol)** 是一...
然后创建MailMessage对象,设置发件人、收件人、抄送人、密送人、主题和邮件正文。正文可以是纯文本或HTML格式。例如: ```csharp SmtpClient smtp = new SmtpClient("smtp.example.com", 587); smtp....
邮件收发功能则需要处理SMTP(简单邮件传输协议)和POP3(邮局协议)协议,实现邮件的发送和接收。邮箱设置模块可能包括修改密码、设置自动回复等功能,这需要与数据库进行交互,更新用户的相关配置。 在开发过程中...
### Notes单机接收和发送外部邮件配置实例 在IT领域中,IBM Notes(原名Lotus Notes)是一款功能强大的企业级协作平台,它不仅支持电子邮件服务,还提供了日程安排、文档管理等一系列实用功能。本文将详细介绍如何...
JavaMail是一个用于处理电子邮件的开源API,它允许Java开发者通过SMTP、POP3或IMAP协议发送和接收邮件。在`JAVA MAIL 实例 - steven_05514的专栏 - CSDN博客.htm`中,可能讲解了如何创建和配置JavaMail会话,设置...
《POP3协议详解及其在邮件收发中的应用》 邮件通信是互联网中不可或缺的一部分,而POP3(Post Office Protocol version 3)协议则是实现邮件接收的重要标准。在本文中,我们将深入探讨POP3协议的工作原理及其在邮件...
它可以解析邮件的各个部分,包括邮件头信息和邮件体。 3. **HTML邮件:** Jmail支持发送包含HTML内容的邮件,可以创建具有丰富格式和多媒体元素的邮件。 4. **多线程处理:** 对于大量邮件的处理,Jmail允许开发者...
**CentOS 6.5 Sendmail邮件服务器配置详解** 配置Sendmail邮件服务器是构建企业级通信基础设施的关键步骤,尤其在需要内部或外部收发邮件时。以下是一个详细的配置指南,适用于CentOS 6.5系统。 ### **1. 安装DNS...
《基于.NET的邮件管理系统...总之,本毕业设计提供了一个完整的邮件管理系统实例,涵盖了从理论到实践的多个层次,对于计算机科学与技术专业的学生来说,是一次宝贵的实践经验,有助于他们更好地理解和应用所学知识。
1. 邮件协议:JavaMail支持多种邮件传输协议,如SMTP(Simple Mail Transfer Protocol)用于发送邮件,POP3(Post Office Protocol version 3)和IMAP4(Internet Message Access Protocol version 4)用于接收邮件...
【VB个人邮件处理系统设计详解】 Visual Basic(VB)是一种由微软公司开发的事件驱动编程语言,常用于创建用户友好的图形用户界面(GUI)。在本项目“基于VB的个人邮件处理系统设计”中,我们将深入探讨如何利用VB...
JavaMail API是Sun公司提供的一个强大的邮件处理工具包,它提供了对多种协议的支持(如SMTP、POP3、IMAP等),可以方便地进行邮件的收发操作。 #### 二、JavaMail API简介 JavaMail API通过提供一系列的接口和类,...
JavaMail支持多种邮件协议,包括但不限于POP3、SMTP和IMAP,这使得开发者可以根据不同的应用场景选择最合适的邮件服务。 #### 二、JavaMail架构与组件 JavaMail的核心架构主要包括三个关键组件: 1. **Transport*...
JavaMail是Java领域中最为知名的邮件解决方案之一,由Sun Microsystems(现已被Oracle收购)定义并制定的一套用于收发电子邮件的API标准。尽管JavaMail自身具有强大的功能,但由于其API相对复杂且分散,对于初学者来...
**JSP+Servlet+JavaMail 收发电子邮件详解** 在Web开发中,有时我们需要实现电子邮件的发送和接收功能,这通常涉及到JSP、Servlet和JavaMail API的综合应用。本项目是一个基于MyEclipse的工程实例,通过导入该工程...
JavaMail 是一个 Java 语言编写的开源库,它为开发者提供了在 Java 应用中收发电子邮件的能力。在 J2EE 网络编程中,JavaMail 是一个不可或缺的工具,尤其对于那些需要进行邮件交互的应用来说。本章节将深入探讨 ...