项目需要邮箱发送功能,但是邮箱发送功能时而成功,时而发送不了。
求大虾解谜..........
下面是发送邮件代码:
intnum=from.indexOf("@");
Stringstrstart=from.substring(0,num);
Stringstrend=from.substring(num+1,from.length());
Stringsmtp="smtp."+strend;//设置发送邮件所用到的smtp
Stringservername=strstart;
Stringserverpaswd=ConfigureFileHelper.getProperty("pcode");
javax.mail.SessionmailSession;//邮件会话对象
javax.mail.internet.MimeMessagemimeMsg;//MIME邮件对象
Propertiesprops=java.lang.System.getProperties();//获得系统属性对象
props.put("mail.smtp.host",smtp);//设置SMTP主机
props.put("mail.smtp.auth","true");//是否到服务器用户名和密码验证
//到服务器验证发送的用户名和密码是否正确
Email_AutherticatorbeanmyEmailAuther=newEmail_Autherticatorbean(servername,serverpaswd);
//设置邮件会话
mailSession=javax.mail.Session.getInstance(props,(Authenticator)myEmailAuther);
//设置传输协议
javax.mail.Transporttransport=mailSession.getTransport("smtp");
//设置from、to等信息
mimeMsg=newjavax.mail.internet.MimeMessage(mailSession);
if(from.length()>0)
{
InternetAddresssentFrom=newInternetAddress(from);
mimeMsg.setFrom(sentFrom);//设置发送人地址
}
InternetAddress[]sendTo=newInternetAddress[to.length];
for(inti=0;i<to.length;i++)
{
System.out.println("发送到:"+to[i]);
sendTo[i]=newInternetAddress(to[i]);
}
mimeMsg.setRecipients(javax.mail.internet.MimeMessage.RecipientType.TO,sendTo);
mimeMsg.setSubject(subject,"utf-8");
MimeBodyPartmessageBodyPart1=newMimeBodyPart();
//messageBodyPart.setText(UnicodeToChinese(text));
messageBodyPart1.setContent(text,mimeType);
//附件传输及格式
Multipartmultipart=newMimeMultipart();
multipart.addBodyPart(messageBodyPart1);
for(inti=0;i<filenames.length;i++)
{
MimeBodyPartmessageBodyPart2=newMimeBodyPart();
//选择出每一个附件名
Stringfilename=filenames[i].split(",")[0];
Stringdisplayname=filenames[i].split(",")[0];
//得到数据源
FileDataSourcefds=newFileDataSource(filename);
//得到附件本身并至入BodyPart
messageBodyPart2.setDataHandler(newDataHandler(fds));
//得到文件名同样至入BodyPart
messageBodyPart2.setFileName(displayname);
messageBodyPart2.setFileName(fds.getName());
messageBodyPart2.setFileName(MimeUtility.encodeText(displayname));
multipart.addBodyPart(messageBodyPart2);
}
mimeMsg.setContent(multipart);
//设置信件头的发送日期
mimeMsg.setSentDate(newDate());
mimeMsg.saveChanges();
//发送邮件
transport.send(mimeMsg);
transport.close();

13 个解决方案

#1


不成功是什么样子,你不说咋知道

更多相关文章

  1. 如何从Java中的类名获取类对象
  2. 域对象/服务和业务逻辑层
  3. JavaScript笔记:混合对象“类”
  4. [零基础学JAVA]Java SE面向对象部分.面向对象基础(04)
  5. Java面向对象三大特性
  6. 请问java中调用一个静态方法()内传入一个对象是表示什么意思?
  7. Java记录 -88- 利用反射机制调用对象的私有方法和属性
  8. Java开发水吧点饮品系统(顶层父类对象做接口参数)
  9. 如何知道Object是否为String类型对象?

随机推荐

  1. pymysql实现从a表过滤出有效信息添加至b
  2. Python爬取京东评论(多线程+队列+bs4+pymy
  3. MySQL选择哪个列不是空的。
  4. 在细队共数细军精文候只就
  5. repcached与mysql缓存測试
  6. 类型不敏感的nvarchar类型的主键,其中ß!=
  7. 设置mysql5.7远程连接
  8. Linux服务器安装php之后连接MySQL数据失
  9. 如何限制SQL Server中的用户登录尝试
  10. 各位大虾,快救救我,我的sql server7为什么