java如何登陆163邮箱获取登陆用户的好友列表模拟登录文档格式.docx

上传人:b****7 文档编号:22237316 上传时间:2023-02-03 格式:DOCX 页数:19 大小:20KB
下载 相关 举报
java如何登陆163邮箱获取登陆用户的好友列表模拟登录文档格式.docx_第1页
第1页 / 共19页
java如何登陆163邮箱获取登陆用户的好友列表模拟登录文档格式.docx_第2页
第2页 / 共19页
java如何登陆163邮箱获取登陆用户的好友列表模拟登录文档格式.docx_第3页
第3页 / 共19页
java如何登陆163邮箱获取登陆用户的好友列表模拟登录文档格式.docx_第4页
第4页 / 共19页
java如何登陆163邮箱获取登陆用户的好友列表模拟登录文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

java如何登陆163邮箱获取登陆用户的好友列表模拟登录文档格式.docx

《java如何登陆163邮箱获取登陆用户的好友列表模拟登录文档格式.docx》由会员分享,可在线阅读,更多相关《java如何登陆163邮箱获取登陆用户的好友列表模拟登录文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

java如何登陆163邮箱获取登陆用户的好友列表模拟登录文档格式.docx

*如:

SocketsockClient=newSocket("

"

23);

*这表示发件方连接的是QQ邮箱的服务器,端口号为23

*

*/

publicclassEmail{

/**

*整个MIME邮件对象

privateMimeMessagemimeMsg;

*专门用来发送邮件的Session会话

privateSessionsession;

*封装邮件发送时的一些配置信息的一个属性对象

privatePropertiesprops;

*发件人的用户名

privateStringusername;

*发件人的密码

privateStringpassword;

*用来实现附件添加的组件

privateMultipartmp;

*发送参数初始化,有的服务器不需要用户验证,所以这里对用户名和密码进行初始化"

*@paramsmtp

*SMTP服务器的地址,比如要用QQ邮箱,哪么应为:

,163为:

publicEmail(Stringsmtp){

username="

;

password="

//设置邮件服务器

setSmtpHost(smtp);

//创建邮件

createMimeMessage();

}

*设置发送邮件的主机(JavaMail需要Properties来创建一个session对象。

*它将寻找字符串"

mail.smtp.host"

,属性值就是发送邮件的主机);

*@paramhostName

publicvoidsetSmtpHost(StringhostName){

System.out.println("

设置系统属性:

mail.smtp.host="

+hostName);

if(props==null)

props=System.getProperties();

props.put("

hostName);

*(这个Session类代表JavaMail中的一个邮件session.每一个基于

*JavaMail的应用程序至少有一个session但是可以有任意多的session。

在这个例子中,

*Session对象需要知道用来处理邮件的SMTP服务器。

publicbooleancreateMimeMessage(){

try{

准备获取邮件会话对象!

);

//用props对象来创建并初始化session对象

session=Session.getDefaultInstance(props,null);

}catch(Exceptione){

System.err.println("

获取邮件会话对象时发生错误!

+e);

returnfalse;

准备创建MIME邮件对象!

//用session对象来创建并初始化邮件对象

mimeMsg=newMimeMessage(session);

//生成附件组件的实例

mp=newMimeMultipart();

创建MIME邮件对象失败!

returntrue;

*设置SMTP的身份认证

publicvoidsetNeedAuth(booleanneed){

设置smtp身份认证:

mail.smtp.auth="

+need);

if(need)

mail.smtp.auth"

"

true"

else

false"

*进行用户身份验证时,设置用户名和密码

publicvoidsetNamePass(Stringname,Stringpass){

程序得到用户名与密码"

username=name;

password=pass;

*设置邮件主题

*@parammailSubject

*@return

publicbooleansetSubject(StringmailSubject){

设置邮件主题!

mimeMsg.setSubject(mailSubject);

设置邮件主题发生错误!

*设置邮件内容,并设置其为文本格式或HTML文件格式,编码方式为UTF-8

*@parammailBody

publicbooleansetBody(StringmailBody){

设置邮件体格式"

BodyPartbp=newMimeBodyPart();

bp.setContent(

"

metahttp-equiv=Content-Typecontent=text/html;

charset=UTF-8>

+mailBody,"

text/html;

charset=UTF-8"

//在组件上添加邮件文本

mp.addBodyPart(bp);

设置邮件正文时发生错误!

*增加发送附件

*@paramfilename

*邮件附件的地址,只能是本机地址而不能是网络地址,否则抛出异常

publicbooleanaddFileAffix(Stringfilename){

增加邮件附件:

+filename);

FileDataSourcefileds=newFileDataSource(filename);

bp.setDataHandler(newDataHandler(fileds));

//发送的附件前加上一个用户名的前缀

bp.setFileName(fileds.getName());

//添加附件

+filename+"

发生错误!

*设置发件人地址

*@paramfrom

*发件人地址

publicbooleansetFrom(Stringfrom){

设置发信人!

mimeMsg.setFrom(newInternetAddress(from));

*设置收件人地址

*@paramto

*收件人的地址

publicbooleansetTo(Stringto){

设置收信人"

if(to==null)

mimeMsg.setRecipients(javax.mail.Message.RecipientType.TO,

InternetAddress.parse(to));

*发送附件

*@paramcopyto

publicbooleansetCopyTo(Stringcopyto){

发送附件到"

if(copyto==null)

mimeMsg.setRecipients(javax.mail.Message.RecipientType.CC,

InternetAddress.parse(copyto));

*发送邮件

publicbooleansendout(){

mimeMsg.setContent(mp);

mimeMsg.saveChanges();

正在发送邮件...."

SessionmailSession=Session.getInstance(props,null);

Transporttransport=mailSession.getTransport("

smtp"

//真正的连接邮件服务器并进行身份验证

transport.connect((String)props.get("

),username,

password);

//发送邮件

transport.sendMessage(mimeMsg,mimeMsg

.getRecipients(javax.mail.Message.RecipientType.TO));

发送邮件成功!

transport.close();

邮件发送失败!

+e.getMessage());

e.printStackTrace();

publicstaticvoidmain(String[]args){

Emailthemail=newEmail("

Stringmailbody="

JavaMail......"

themail.setNeedAuth(true);

themail.setSubject("

你好"

themail.setBody(mailbody);

themail.setTo(******);

themail.setFrom(********);

themail.addFileAffix("

C:

/CEPxDD0D.tmp"

//附件文件路径,例如:

/222.jpg,*注;

/"

的写法;

themail.setNamePass(*****,******);

themail.sendout();

}

3//////////////////////////////////////////////////////////packagetcpip.smtp;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1