700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java 登陆邮箱_java如何登陆163邮箱 获取登陆用户的好友列表(1)

java 登陆邮箱_java如何登陆163邮箱 获取登陆用户的好友列表(1)

时间:2023-09-16 06:00:07

相关推荐

java 登陆邮箱_java如何登陆163邮箱 获取登陆用户的好友列表(1)

packagetcpip.smtp;importjava.util.Properties;importjavax.activation.DataHandler;importjavax.activation.FileDataSource;importjavax.mail.*;importjavax.mail.internet.*;/*** 本程序用java来实现Email的发送,所用到的协议为:SMTP,端口号为25;

* 方法:用Socket进行实现,打开客户端的Socket,并连接上服务器:

* 如:Socket sockClient = new Socket("",23);

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

**/publicclassEmail {/*** 整个MIME邮件对象*/privateMimeMessage mimeMsg;/*** 专门用来发送邮件的Session会话*/privateSession session;/*** 封装邮件发送时的一些配置信息的一个属性对象*/privateProperties props;/*** 发件人的用户名*/privateString username;/*** 发件人的密码*/privateString password;/*** 用来实现附件添加的组件*/privateMultipart mp;/*** 发送参数初始化,有的服务器不需要用户验证,所以这里对用户名和密码进行初始化""

*

*@paramsmtp

* SMTP服务器的地址,比如要用QQ邮箱,哪么应为:"",163为:""*/publicEmail(String smtp) {

username="";

password="";//设置邮件服务器setSmtpHost(smtp);//创建邮件createMimeMessage();

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

* 它将寻找字符串"mail.smtp.host",属性值就是发送邮件的主机);

*

*@paramhostName*/publicvoidsetSmtpHost(String hostName) {

System.out.println("设置系统属性:mail.smtp.host ="+hostName);if(props==null)

props=System.getProperties();

props.put("mail.smtp.host", hostName);

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

* JavaMail的应用程序至少有一个session但是可以有任意多的session。 在这个例子中,

* Session对象需要知道用来处理邮件的SMTP 服务器。*/publicbooleancreateMimeMessage() {try{

System.out.println("准备获取邮件会话对象!");//用props对象来创建并初始化session对象session=Session.getDefaultInstance(props,null);

}catch(Exception e) {

System.err.println("获取邮件会话对象时发生错误!"+e);returnfalse;

}

System.out.println("准备创建MIME邮件对象!");try{//用session对象来创建并初始化邮件对象mimeMsg=newMimeMessage(session);//生成附件组件的实例mp=newMimeMultipart();

}catch(Exception e) {

System.err.println("创建MIME邮件对象失败!"+e);returnfalse;

}returntrue;

}/*** 设置SMTP的身份认证*/publicvoidsetNeedAuth(booleanneed) {

System.out.println("设置smtp身份认证:mail.smtp.auth ="+need);if(props==null)

props=System.getProperties();if(need)

props.put("mail.smtp.auth","true");elseprops.put("mail.smtp.auth","false");

}/*** 进行用户身份验证时,设置用户名和密码*/publicvoidsetNamePass(String name, String pass) {

System.out.println("程序得到用户名与密码");

username=name;

password=pass;

}/*** 设置邮件主题

*

*@parammailSubject

*@return*/publicbooleansetSubject(String mailSubject) {

System.out.println("设置邮件主题!");try{

mimeMsg.setSubject(mailSubject);

}catch(Exception e) {

System.err.println("设置邮件主题发生错误!");returnfalse;

}returntrue;

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

*

*@parammailBody

*@return*/publicbooleansetBody(String mailBody) {try{

System.out.println("设置邮件体格式");

BodyPart bp=newMimeBodyPart();

bp.setContent(""+mailBody,"text/html;charset=UTF-8");//在组件上添加邮件文本mp.addBodyPart(bp);

}catch(Exception e) {

System.err.println("设置邮件正文时发生错误!"+e);returnfalse;

}returntrue;

}/*** 增加发送附件

*

*@paramfilename

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

*@return*/publicbooleanaddFileAffix(String filename) {

System.out.println("增加邮件附件:"+filename);try{

BodyPart bp=newMimeBodyPart();

FileDataSource fileds=newFileDataSource(filename);

bp.setDataHandler(newDataHandler(fileds));//发送的附件前加上一个用户名的前缀bp.setFileName(fileds.getName());//添加附件mp.addBodyPart(bp);

}catch(Exception e) {

System.err.println("增加邮件附件:"+filename+"发生错误!"+e);returnfalse;

}returntrue;

}/*** 设置发件人地址

*

*@paramfrom

* 发件人地址

*@return*/publicbooleansetFrom(String from) {

System.out.println("设置发信人!");try{

mimeMsg.setFrom(newInternetAddress(from));

}catch(Exception e) {returnfalse;

}returntrue;

}/*** 设置收件人地址

*

*@paramto

* 收件人的地址

*@return*/publicbooleansetTo(String to) {

System.out.println("设置收信人");if(to==null)returnfalse;try{

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

InternetAddress.parse(to));

}catch(Exception e) {returnfalse;

}returntrue;

}/*** 发送附件

*

*@paramcopyto

*@return*/publicbooleansetCopyTo(String copyto) {

System.out.println("发送附件到");if(copyto==null)returnfalse;try{

mimeMsg.setRecipients(javax.mail.,

InternetAddress.parse(copyto));

}catch(Exception e) {returnfalse;

}returntrue;

}/*** 发送邮件

*

*@return*/publicbooleansendout() {try{

mimeMsg.setContent(mp);

mimeMsg.saveChanges();

System.out.println("正在发送邮件....");

Session mailSession=Session.getInstance(props,null);

Transport transport=mailSession.getTransport("smtp");//真正的连接邮件服务器并进行身份验证transport.connect((String) props.get("mail.smtp.host"), username,

password);//发送邮件transport.sendMessage(mimeMsg, mimeMsg

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

System.out.println("发送邮件成功!");

transport.close();

}catch(Exception e) {

System.err.println("邮件发送失败!"+e.getMessage());

e.printStackTrace();returnfalse;

}returntrue;

}publicstaticvoidmain(String[] args) {

Email themail=newEmail("");

String mailbody="Java Mail......";

themail.setNeedAuth(true);

themail.setSubject("你好");

themail.setBody(mailbody);

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

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

themail.addFileAffix("C:/CEPxDD0D.tmp");//附件文件路径,例如:C:/222.jpg,*注;"/"的写法;themail.setNamePass(*****,******);

themail.sendout();

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。