使用ajax发送邮件的实例

jsp页面代码如下:

<tr>
   <td>
    发件人地址:<s:textfield id="fromAddress" name="fromAddress" theme="simple"></s:textfield>
    <select id="fromServer" name="fromServer">
     <option value="smtp.163.com">@163.com</option>
     <option value="smtp.126.com">@126.com</option>
     <option value="smtp.139.com">@139.com</option>
     <option value="smtp.qq.com">@qq.com</option>
     <option value="smtp.sina.com">@sina.com</option>
     <option value="smtp.gmail.com">@gmail.com</option>
    </select>
    
   </td>
   <td>
    密码:<s:textfield id="password" name="password" theme="simple"></s:textfield>
   </td>
  </tr>
  <tr> 
   <td>
    收件人地址:<s:textfield id="toAddress" name="toAddress" theme="simple"></s:textfield>
    <select id="toServer" name="toServer">
     <option value="smtp.163.com">@163.com</option>
     <option value="smtp.126.com">@126.com</option>
     <option value="smtp.139.com">@139.com</option>
     <option value="smtp.qq.com">@qq.com</option>
     <option value="smtp.sina.com.cn">@sina.com</option>
     <option value="smtp.gmail.com">@gmail.com</option>
    </select>
   </td>
   <td>
    <input type="button" value="发送提醒邮件" onclick="sendMessage()"></input>
   </td>
  </tr>
  <tr>
   <td>
    邮件 主 题:<s:textfield id="subject" name="subject" theme="simple"></s:textfield>
   </td>
  </tr>
  <tr>
   <td>
    邮件 内容 :<s:textarea id="msg" name="msg" theme="simple" rows="3" cols="30"></s:textarea>
   </td>
  </tr>

<script type="text/javascript" src="${ctx}/fckeditor/fckeditor.js"></script>
 <script type="text/javascript" >
  var sBasePath = "<%= request.getScheme() +"://"+ request.getServerName() +":"+ request.getServerPort()+request.getContextPath() + "/fckeditor/" %>" ;//获得fckeditor的路径
  var SitePath = "<%= request.getScheme() +"://"+ request.getServerName() +":"+ request.getServerPort()+request.getContextPath() + "/website/" %>";//网站的绝对路径
  var oFCKeditor = new FCKeditor("remark");
  oFCKeditor.BasePath = sBasePath;
  oFCKeditor.Height = 300 ;
  oFCKeditor.ToolbarSet="CustomToolbar";
  oFCKeditor.ReplaceTextarea();
  function sendMessage(){
   var url="/product/LgpProductLicense_sendEmail.action?";
   var address=new Array();
   url+="from="+document.getElementById('fromAddress').value+"&";
   url+="password="+document.getElementById('password').value+"&";
   url+="to="+document.getElementById('toAddress').value+"&";
   url+="subject="+document.getElementById('subject').value+"&";
   url+="msg="+document.getElementById('msg').value+"&";
   url+="fromServer="+document.getElementById('fromServer').value+"&";
   url+="toServer="+document.getElementById('toServer').value;
   var par="";
   var myAjax=new Ajax.Request(
    url,
    {
     method:'get',
     setRequestHeader:{"If-Modified-Since":"0"},
     parameters: par,
     onComplete:afterSend
    }
   );
  }
  function afterSend(originalRequst){
   var result=originalRequst.responseText;
   if(result.length>0){
    alert("邮件发送成功");
   }else{
    alert("邮件发送失败");
   }
   
  }
 </script>

dao层代码如下:

public String sendEmail(LicenseEmail param){
  String result="";
  String fromServer=param.getFromServer();
  String[] temp=fromServer.split("\.");
  fromServer="@"+temp[1]+"."+temp[2];
  String toServer=param.getToServer();
  temp=toServer.split("\.");
  toServer="@"+temp[1]+"."+temp[2];
  SimpleEmail email=new SimpleEmail();
  email.setHostName(param.getFromServer());
  email.setAuthentication(param.getFrom(),param.getPassword());
  email.setCharset("UTF-8");
  try{
   email.addTo(param.getTo()+toServer);
   email.setFrom(param.getFrom()+fromServer);
   email.setSubject(param.getSubject());
   email.buildMimeMessage();
   try {
    email.getMimeMessage().setText(param.getMsg(), "UTF-8");
   } catch (MessagingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   result= email.sendMimeMessage();
   
   
  }catch(EmailException e){
   e.printStackTrace();
  }
  return result;
  
  
  
 }

原文地址:https://www.cnblogs.com/moonfans/p/3359587.html