使用JavaWeb怎么实现邮件发送功能

  介绍

使用JavaWeb怎么实现邮件发送功能吗?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

<强>项目中遇到的问题:

1,在执行到文件文件=新文件(“D: \ Chat_Software \ sky.JPG”);时出现错误,之前写的时xlsx文件,测试期间可以对xls, jpg,文本,. doc文件进行发送。发送xlsx文件时出现报的错。
问题解决方案:
。xls文件扩展名对应的是Microsoft Office EXCEL 2003及以前的版本。
。xlsx文件扩展名对应的是Microsoft Office EXCEL 2007及后期的版本。
有可能时你下载的麦不是1.6以上版本的,建议下载1.6以上版本的邮件

2,在执行到message.saveChanges ();方法报错无法进行保存设置,也有可能时你的邮件版本较低造成的。

在书写文件文件=新文件();时注意修改正确的路径,也可以写在表单表单里用文件进行传值,主题和内容也写在了方法里因人而异如果其他需求可以需改参数进行传值。

本次用到的主要的jar包如下:

<李>

javax.mail-1.6.0.jar

<李>

激活。jar

代码如下:

使用JavaWeb怎么实现邮件发送功能

EmailSendController。java

package  com.yang.controller;      import  javax.servlet.http.HttpServletRequest;      import  org.springframework.stereotype.Controller;   import  org.springframework.web.bind.annotation.RequestMapping;   import  org.springframework.web.bind.annotation.ResponseBody;      import  com.yang.util.Email_Send_Util;      @ controller   @RequestMapping (“/email")   public  class  EmailSendController  {=,@RequestMapping (value “/send.do")   ,@ResponseBody   ,public  boolean  impotr (HttpServletRequest 请求),{   ,String  toMail =, request.getParameter (“toMail");   ,String  myMail =, request.getParameter (“myMail");   ,String  userPwd =, request.getParameter (“userPwd");      ,System.out.println (, toMail + myMail + userPwd);   bool, boolean =Email_Send_Util.send (, toMail、myMail, userPwd);   ,return  bool ;   ,}      }

认证。java

package  com.yang.util;      import  javax.mail.Authenticator;   import  javax.mail.PasswordAuthentication;      public  class  Authentication  extends  Authenticator  {   ,String  username =,空;   ,String  password =,空;      ,public 身份验证(),{   ,}      ,public 身份验证(String 用户名,String 密码),{   时间=this.username 才能;用户名;=,this.password 密码;   ,}      ,protected  PasswordAuthentication  getPasswordAuthentication () {   ,PasswordAuthentication  pa =, new  PasswordAuthentication(用户名,密码);   ,return  pa;   ,}   }

CreateMimeMessage。java

package  com.yang.util;      import  java.io.File;   import  java.util.Date;      import  javax.activation.DataHandler;   import  javax.activation.FileDataSource;   import  javax.mail.Message.RecipientType;   import  javax.mail.Address;   import  javax.mail.Message;   import  javax.mail.Session;   import  javax.mail.internet.InternetAddress;   import  javax.mail.internet.MimeBodyPart;   import  javax.mail.internet.MimeMessage;   import  javax.mail.internet.MimeMultipart;   import  javax.mail.internet.MimeUtility;/* *   ,*创建一封复杂邮件(文本+图片+附件)   ,*/public  class  CreateMimeMessage  {   ,public  static  MimeMessage  createMimeMessage (Session 会话,String  myMail,, String  toMail), throws  Exception  {   ,//1只创建邮件对象   ,MimeMessage  message =, new  MimeMessage(会话);      ,//2只:,发件的人   ,message.setFrom (new  InternetAddress (myMail,“我的测试邮件_发件人昵称“,,“UTF-8"));      ,//3只:,收件人(可以增加多个收件人,抄送,密送)   ,message.addRecipient (RecipientType.TO, new  InternetAddress (toMail,,“我的测试邮件_收件人昵称“,,“UTF-8"));      ,//4只;主题:,邮件主题   ,message.setSubject(“测试邮件主题(文本+图片+附件),,,“UTF-8");      ,//抄送人   ,Address  ccAddress =, new  InternetAddress (“* * * * * * * * * @qq.com",,“我的测试邮件_抄送人昵称“,,“UTF-8");   ,message.addRecipient (Message.RecipientType.CC, ccAddress);      ,/*   ,*下面是邮件内容的创建:   ,*/,//5只创建图片”节点”   ,MimeBodyPart  image =, new  MimeBodyPart ();   ,File  File =, new 文件(“D: \ \ Chat_Software \ \ sky.JPG");   ,DataHandler  dh =, new  DataHandler (new  FileDataSource(文件));,//,读取本地文件   ,image.setDataHandler (dh);,//,将图片数据添加到“节点”   ,//image.setContentID (“image_fairy_tail");//,为“节点“设置一个唯一编号(在文本节“点”将引用该ID)   ,image.setFileName (MimeUtility.encodeText (file.getName ()));   ,   ,//6只创建文本节“点”   ,MimeBodyPart  text =, new  MimeBodyPart ();   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用JavaWeb怎么实现邮件发送功能