Java Web stmp发送带附件邮件(附SSL版)
本文实例为大家分享了JavaWebstmp发送带附件邮件的具体代码,供大家参考,具体内容如下
publicclassMailFileSendUtils{ privatePropertiesprops;//系统属性 privateSessionsession;//邮件会话对象 privateMimeMessagemimeMsg;//MIME邮件对象 privateMultipartmp;//Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象 /** *Constructor *@param */ publicMailFileSendUtils(){ props=System.getProperties(); props.put("mail.smtp.auth","false"); session=Session.getDefaultInstance(props,null); session.setDebug(true); mimeMsg=newMimeMessage(session); mp=newMimeMultipart(); } /** *Constructor *@paramsmtp邮件发送服务器 */ publicMailFileSendUtils(Stringsmtp,Stringusername,Stringpassword){ props=System.getProperties(); props.put("mail.smtp.auth","true"); props.put("mail.smtp.host",smtp); props.put("username",username); props.put("password",password); session=Session.getDefaultInstance(props,null); session.setDebug(true); mimeMsg=newMimeMessage(session); mp=newMimeMultipart(); } /** *发送邮件 */ publicbooleansendMail(Stringfrom,String[]to,Stringsubject,Stringcontent,Stringfilename){ try{ //设置发信人 mimeMsg.setFrom(newInternetAddress(from)); //设置接收人 for(inti=0;i(附:SSL版)
publicclassMailFileSendUtils{ privatePropertiesprops;//系统属性 privateSessionsession;//邮件会话对象 privateMimeMessagemimeMsg;//MIME邮件对象 privateMultipartmp;//Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象 /** *Constructor *@param */ publicMailFileSendUtils(){ props=System.getProperties(); props.put("mail.smtp.auth","false"); session=Session.getDefaultInstance(props,null); session.setDebug(true); mimeMsg=newMimeMessage(session); mp=newMimeMultipart(); } /** *Constructor *@paramsmtp邮件发送服务器 */ publicMailFileSendUtils(Stringsmtp, Stringusername, Stringpassword){ Security.addProvider(newcom.sun.net.ssl.internal.ssl.Provider()); finalStringSSL_FACTORY="javax.net.ssl.SSLSocketFactory"; props=System.getProperties(); MailSSLSocketFactorysf=null; try{ sf=newMailSSLSocketFactory(); }catch(GeneralSecurityExceptione){ } sf.setTrustAllHosts(true); props.put("mail.smtp.auth","true"); props.put("mail.smtp.host",smtp); props.put("mail.smtp.socketFactory.class",SSL_FACTORY); props.put("mail.smtp.socketFactory.fallback","false"); props.put("mail.smtp.ssl.enable","true"); props.put("mail.smtp.port","465"); props.put("mail.smtp.ssl.socketFactory",sf); //props.put("username",username); //props.put("password",password); session=Session.getInstance(props,newAuthenticator(){ @Override protectedPasswordAuthenticationgetPasswordAuthentication(){ returnnewPasswordAuthentication(username,password); } }); session.setDebug(true); mimeMsg=newMimeMessage(session); mp=newMimeMultipart(); } /** *发送邮件 */ publicbooleansendMail(Stringfrom, String[]to, Stringsubject, Stringcontent, Stringfilename){ try{ //设置发信人 mimeMsg.setFrom(newInternetAddress(from)); //设置接收人 for(inti=0;i在项目中使用这套工具,main方法我注释掉,然后使用toSendMail(SendMailParamsendMailParam)。
这里定义的SendMailParam为:publicclassSendMailParam{ privateStringsmtp; privateStringusername; privateStringpassword; privateStringfrom;//发送人 privateString[]to;//接收人 //String[]copyto={"909891736@qq.com"}; privateStringsubject;//邮件主题 privateStringcontent;//邮件内容 privateStringfilepath;//文件拿到的路径 publicSendMailParam(){ this.smtp="smtp.exmail.qq.com";//例子 this.username="邮箱账号"; this.password="邮箱密码"; this.from="邮箱"; this.subject=""; this.content=""; this.filepath=""; } publicStringgetSmtp(){ returnsmtp; } publicvoidsetSmtp(Stringsmtp){ this.smtp=smtp; } publicStringgetUsername(){ returnusername; } publicvoidsetUsername(Stringusername){ this.username=username; } publicStringgetPassword(){ returnpassword; } publicvoidsetPassword(Stringpassword){ this.password=password; } publicStringgetFrom(){ returnfrom; } publicvoidsetFrom(Stringfrom){ this.from=from; } publicString[]getTo(){ returnto; } publicvoidsetTo(String[]to){ this.to=to; } publicStringgetSubject(){ returnsubject; } publicvoidsetSubject(Stringsubject){ this.subject=subject; } publicStringgetContent(){ returncontent; } publicvoidsetContent(Stringcontent){ this.content=content; } publicStringgetFilepath(){ returnfilepath; } publicvoidsetFilepath(Stringfilepath){ this.filepath=filepath; } }maven依赖包
javax.mail 1.4.7 gradle依赖包
compile"javax.mail:mail:1.4.7"以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。