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
mail
1.4.7
gradle依赖包
compile"javax.mail:mail:1.4.7"
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。