收藏 分销(赏)

邮件原理与JavaMail1.doc

上传人:仙人****88 文档编号:11890773 上传时间:2025-08-18 格式:DOC 页数:3 大小:36.50KB 下载积分:10 金币
下载 相关 举报
邮件原理与JavaMail1.doc_第1页
第1页 / 共3页
邮件原理与JavaMail1.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
邮件原理与JavaMail开发简介1 一、 为什么要学习javamail开发? 现在很多WEB应用在开发时都需要集成邮件发送功能,例如: 给新注册的用户自动发送一封包含其注册信息的欢迎E-Mail。 给过生日的注册会员自动发送一封表示祝贺的E-Mail 。 将网站的最新活动信息通过E-Mail发送给所有的注册会员。 等等 … 这些功能的实现都需要软件开发人员在开发WEB应用中编写相应的邮件处理程序。 二、学习javamail主要的两部分 1生成邮件 2发送接收邮件 三、 邮件开发涉到的一些基本概念 1邮件服务器 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器。例如现在Internet很多提供邮件服务的厂商:sina、sohu、163等等他们都有自己的邮件服务器。 这些服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中 2电子邮箱 电子邮箱(E-mail地址)的获得需要在邮件服务器上进行申请 ,确切地说,电子邮箱其实就是用户在邮件服务器上申请的一个帐户。用户在邮件服务器上申请了一个帐号后,邮件服务器就会为这个帐号分配一定的空间,用户从而可以使用这个帐号以及空间,发送电子邮件和保存别人发送过来的电子邮件。 3 SMTP协议 用户连上邮件服务器后,要想给它发送一封电子邮件,需要遵循一定的通迅规则,SMTP协议就是用于定义这种通讯规则的。 因而,通常我们也把处理用户smtp请求(邮件发送请求)的邮件服务器称之为SMTP服务器。(25) telnet SMTP协议 ehlo 主机名 auth login //经过base64编码后的用户名和密码 mail from:csdn@ //发件人邮箱 rcpt to:csdn@ //收件人邮箱 Data .(点号代表邮件内容的结束) Quit 例: 开始------运行cmd telnet 25 ehlo dell //dell 为主机名 auth login ODkxN //经过base64编码后的用户名 saXUxMzE0 //经过base64编码后的密码 mail from:<csdn@> //from发件人邮箱 rcpt to:<csdn@> //to收件人邮箱 data Hello java //内容 . //点好代表邮件内容的结束 quit //退出 4 POP3协议 同样,用户若想从邮件服务器管理的电子邮箱中接收一封电子邮件的话,他连上邮件服务器后,也需要遵循一定的通迅格式,POP3协议用于定义这种通讯格式。 因而,通常我们也把处理用户pop3请求(邮件接收请求)的邮件服务器称之为POP3服务器。(110) telnet POP3协议 user<SP>username<CRLF> pass<SP>password<CRLF> stat<CRLF> 返回邮箱的统计信息 list<SP>[msg#]<CRLF>返回某一封邮件的统计信息 retr<SP>msg#<CRLF> 最重要的一个命令 quit<CRLF> 使用POP3协议手工接收邮件 5RFC822文档 RFC822文档规定了如何编写一封简单邮件 邮件头和邮件体,两者使用空行分隔 邮件头 from字段 to字段 subject//主题 字段 cc//抄送 bcc//暗送 字段 邮件体 邮件内容 利用RFC822文档漏洞发送假冒邮件 四、 实例 1利用base64将用户名和密码加密 public class Demo { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); System.out.println("请输入用户名:"); String name=br.readLine(); System.out.println("请输入密码:"); String pass=br.readLine(); BASE64Encoder bc = new BASE64Encoder(); System.out.println("加密的用户名:"+bc.encode(name.getBytes())+" \n"+bc.encode(pass.getBytes())); } } 2利用Socket发送邮件 public class SendMailBySocket { public static void main(String[] args) throws Exception { Socket sk=new Socket("",25); //返回此套接字的输出流 OutputStream os=sk.getOutputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(sk.getInputStream())); System.out.println(br.readLine()); os.write("ehlo dell\r\n".getBytes()); System.out.println(br.readLine()); System.out.println(br.readLine()); System.out.println(br.readLine()); os.write("auth login\r\n".getBytes()); System.out.println(br.readLine()); os.write("cmVk=\r\n".getBytes()); System.out.println(br.readLine()); os.write("cmV=\r\n".getBytes()); System.out.println(br.readLine()); os.write("mail from:<csdn@>\r\n".getBytes()); System.out.println(br.readLine()); os.write("rcpt to:<csdn@>\r\n".getBytes()); System.out.println(br.readLine()); os.write("data\r\n".getBytes()); System.out.println(br.readLine()); os.write("hello java".getBytes()); System.out.println(br.readLine()); os.write(".\r\n".getBytes()); System.out.println(br.readLine()); os.write("quit\r\n".getBytes()); br.close(); os.close(); sk.close(); } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服