用javamail和gmail的服务器发送邮件

来源:互联网 发布:强力删除软件 编辑:程序博客网 时间:2024/04/30 09:31

 网上查了很多资料,都不能解决问题,尝试了n次,最后还是成功了

 

以下为jsp代码

 

String mailto=request.getParameter("mailto");
String title=request.getParameter("title");
if(title!=null) title=new String(title.getBytes("ISO8859-1"),"utf-8");
String content=request.getParameter("content");
if(content!=null) content=new String(content.getBytes("ISO8859-1"),"utf-8");
String cc=request.getParameter("cc");//抄送

final String MAIL_USERNAME="viieecn@gmail.com";
final String MAIL_PASSWORD="viiee123";
final String MAIL_SMTP="smtp.gmail.com";
final String MAIL_MAILNAME="viieecn@gmail.com";
/**配置区 **/
Properties properties;
Session mailSession=null;
MimeMessage mailMessage;
Transport trans;

 

try {
   properties = new Properties();
   //设置邮件服务器
   Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
   properties.setProperty("mail.transport.protocol", "smtp");
   properties.put("mail.smtp.host", MAIL_SMTP);
   properties.put("mail.smtp.auth", "true");
   properties.put("mail.smtp.port", "465");
   properties.put("mail.smtp.socketFactory.port", "465");
   properties.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
   properties.put("mail.smtp.socketFactory.fallback", "false");
   properties.setProperty("mail.smtp.quitwait", "false"); 
   //properties.put("mail.smtp.startssl.enable","true");
   //properties.put("mail.smtp.starttls.enable","true");


   //验证
   
   //根据属性新建一个邮件会话
   mailSession = Session.getInstance(properties, new Authenticator() {
    public PasswordAuthentication getPasswordAuthentication() {
     return new PasswordAuthentication(MAIL_USERNAME, MAIL_PASSWORD);
    }
   });
   //mailSession.setDebug(true);
   //建立消息对象
   mailMessage = new MimeMessage(mailSession);
   //发件人
   mailMessage.setFrom(new InternetAddress(MAIL_MAILNAME));
   //收件人

   mailMessage.setRecipients(MimeMessage.RecipientType.TO,InternetAddress.parse(mailto));
   //抄送
   mailMessage.setRecipients(MimeMessage.RecipientType.CC,InternetAddress.parse(cc));
   //主题
   mailMessage.setSubject(title);
   //内容
   //mailMessage.setText(content);
      //指定邮箱内容及ContentType和编码方式
            mailMessage.setContent(content, "text/html;charset=utf-8");
   //发信时间
   mailMessage.setSentDate(new Date());
    //指定邮件优先级 1:紧急 3:普通 5:缓慢
   mailMessage.setHeader("X-Priority", "1");
   //存储信息
   mailMessage.saveChanges();
   //
   trans = mailSession.getTransport("smtp");
   //发送
   Transport.send(mailMessage);
   //session.setAttribute("msg","发送成功");
   out.print("<script>alert('发送成功');location.replace('http://localhost:8080/mail/send.jsp');</script>");
  } catch (Exception e) {
   e.printStackTrace();
   out.print("<script>alert('发送失败');history.go(-1);</script>");
  } finally {

  }

原创粉丝点击