首页 > 编程知识 正文

java邮件服务器(配置电子邮件服务器设置)

时间:2023-05-04 11:48:02 阅读:69470 作者:4778

全部展开

要实现java的邮件发送过程,请执行以下操作:

准备包含SMTP服务器地址等参数的properties文件。

使用properties创建e69 da5E6 ba 90323131愚人节236331343130323136353313333363353863的单个Session对象

使用Session创建消息对象,并设置邮件的主题和正文

使用传输对象发送邮件

需要的jar有两个。 activation.jar和mail.jar必须发送附件并使用Multipart对象。

import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import javax.activation.data handler; 导入javax.activation.data source; import javax.activation.filedata source; import javax.mail.BodyPart; import javax.mail.Message; 导入javax.mail.messaging exception; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.internetaddress; import javax.mail.internet.mime body part; import javax.mail.internet.mime消息; import javax.mail.internet.mime multipart; import javax.mail.internet.mime utility; publicclassjavamailwithattachment { privatemimemessagemessage; 私密会话会话; 私有传输传输; 私有字符串邮件主机=' '; 私有字符串发送器_ username=' '; 私有字符串发送器_ password=' '; privatepropertiesproperties=new properties (; /* *初始化方法*/publicjavamailwithattachment (布尔调试) inputstream in=javamailwithattachment.class.getresourceastrachment this.mailhost=properties.getproperty (' mail.SMTP.host ); this.sender _ username=properties.getproperty (' mail.sender.username ); this.sender _ password=properties.getproperty (' mail.sender.password ); }catch(ioexceptione ) { e.printStackTrace ); } session=session.getinstance (properties ); session.set debug (调试; //打开后有调试信息的消息=新mime消息(session ); } /** *发送邮件* * @param subject *邮件主题* @param sendHtml *邮件内容* @param receiveUser *收件人* @param attachment *附件*/publicvoiddosendhtmlemail (string subject,String sendHtml,String receiveUser,File attachment ) try )//发件人internetadrent adrent ment //收件人internetaddressto=newinternetaddress (接收用户); 消息. set recipient (消息. recipient type.to,to ); //邮件主题消息. set subject (subject ); multipart对象包含文本内容和附件multipart multipart=newmimemultipart (); //邮件正文的bodypartcontentpart=newmimebodypart (; content part.setcontent (send html,' text/html; charset=UTF-8 '; multipart.add body part (内容部件; //附件的内容if (附件!=null (bodypartattachmentbodypart=newmimebodypart ); 数据源源=新文件数据源(附件); 附件主体部件. setdata handler (新数据处理程序) source ); //这是一种解决网络上文件名称乱码的方法,其实可以在MimeUtility.encodeWord中轻松完成//这里很重要,下面的Base64编码转换会使您的中文附件标题名称乱码保证不会成为sun.misc.base64 encoder enc=neet//message body part.set filename ('=? GBK? B? ' ENC.encode(Attachment.getname ().getBytes ) )?='; //MimeUtility.encodeWord是文件名的乱码attachment body part.set filename (mime utility.encode word ) Attachment.getname ) multipart.add body part (附件主体部件; 将multipart对象发送到message message.setcontent (multipart ); //保存邮件消息. save changes (; 传输=session.get传输(SMTP ); //smtp认证是指你用来发送邮件的邮件地址用户名密码transport.connect(mailhost,sender_username,sender_password ); 发送//transport.sendmessage (消息,消息. getallrecipients ) ); system.out.println(sendsuccess! ' ); }catch(exceptione ) { e.printStackTrace ); (finally ) if )传输!=空(try ) transport.close ); } catch (消息传递单元) { e.printStackTrace ); } } publicstaticvoidmain (字符串[ ] args ) javamailwithattachmentse=newjavamailwithattachment ) true; fileaffix=newfile(c: (测试-test.txt ); se.doSendHtmlEmail (邮件主题、邮件内容、xxx@XXX.com、affix ); //}

赞不绝口

踩着了

你对这个回答的评价是什么?

评论

收纳

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。