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;
  
  
  
 }

使用ajax发送邮件的实例的更多相关文章

  1. .NET运用AJAX 总结及其实例

    1.AJAX简介 (1.没有AJAX会怎么样?普通的ASP.Net每次执行服务端方法的时候都要刷新当前页面,比如实现显示服务器的时间.每次都要刷新页面的坏处:页面刷新打断用户操作.速度慢.增加服务器的 ...

  2. Ajax实现异步操作实例_针对XML格式的请求数据

    js分类中有一节[原生js异步请求,XML解析]主要说明了js前台是如何处理XML格式请求和如何接受由服务器返回的XML数据的解析,今天我将用一个实例来说明具体要如何操作. 前台的参数类型也是XML使 ...

  3. jQuery ajax - getJSON() 用法实例

    实例 从 test.js 载入 JSON 数据并显示 JSON 数据中一个 name 字段数据: $.getJSON("test.js", function(json){ aler ...

  4. PHP 和 AJAX MySQL 数据库实例

    HTML 表单 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  5. php 发送邮件(实例)

    html部分 <!DOCTYPE html> <html> <head> <title></title> <script type=& ...

  6. Spring mvc +ajax 发送邮件

    1.前端页面--form表单提交,通过发送按钮的id=“send”定位DOM,触发ajax请求 <form class="form-horizontal" id=" ...

  7. php中ajax的使用实例讲解

    一.总结 1.多复习:代码都挺简单的,就是需要复习,要多看 2.ajax原理:ajax就是部分更新页面,其实还在的html页面监听到事件后,然后传给服务器进行操作,这里用的是get方式来传值到服务器, ...

  8. ajax工作原理/实例

    ajax是什么? 是一种创建交互式网页应用的一种网页技术.简单来说,就是向服务器发起请求,获得数据使交互性和用户体验更好. ajax不是一种新的技术,是一些技术的集合体.有 1.XHTML和CSS 2 ...

  9. Nodejs 之Ajax的一个实例(sql单条件查询&并显示在Browser端界面上)

    1.Broswer端的Ajax <!DOCTYPE html> <html> <head lang="en"> <meta charset ...

随机推荐

  1. 归并排序java

    import java.util.Arrays; public class MergeSort { public static void main(String[] args) { MergeSort ...

  2. mySql-数据库之存储过程学习总结

    之前在工作中总是听别人提到存储过程,觉得是个很高深的东西,利用工作之余,看了下相关的知识,现将学习知识总结如下,希望可以为刚学习的人提供些许帮助. 开发环境:Navicat For Mysql. My ...

  3. 记微信开发(有道翻译api)

    记微信开发(有道翻译api) 记微信开发(有道翻译api) 效果: 有道翻译api申请: 地址:http://fanyi.youdao.com/openapi code: <?php/** * ...

  4. 1分钟快速生成用于网页内容提取的xslt

      1,项目背景   在<Python即时网络爬虫项目说明>一文我们说过要做一个通用的网络爬虫,而且能节省程序员大半的时间,而焦点问题就是提取器使用的抓取规则需要快速生成.在python使 ...

  5. 转:C4项目中验证用户登录一个特性就搞定

    转:C4项目中验证用户登录一个特性就搞定   在开发过程中,需要用户登陆才能访问指定的页面这种功能,微软已经提供了这个特性.     // 摘要:    //     表示一个特性,该特性用于限制调用 ...

  6. python学习day3

    目录: 1.集合set 2.计数器 3.有序字典 4.默认字典 5.可命名元组 6.队列 7.深浅拷贝 8.函数 9.lambda表达式 10.内置函数 一.集合set set是一个无序且不重复的元素 ...

  7. Git 介绍

    一,理解 Git 1,分布式版本控制 Git 版本控制系统的设计思想是"去中心化".传统的 CVS .SVN 等工具采用的是 C/S 架构,只有一个中心代码仓库,位于服务器端.而一 ...

  8. Jquery基础之ajax

    ajax是Asynchronous JavaScript and XML(异步JavaScript和XML)的简称,ajax并不是单一的技术而是利用一系列交互网页应用相关的技术形成的结合体,ajax揭 ...

  9. delphi 把多个线程的请求阻塞到另一个线程 TElegantThread

    本例是把多个线程访问数据库的请求,全部阻塞到一个线程. 这是实际编程中常见的一种问题. 示例源码下载,所需支持单元均在源码中,且附详细说明. TElegantThread 的父类是 TSimpleTh ...

  10. 时间TDateTime相当于是Double,即双精度数64位,终于查到它用11位表示e,53位表示精度(整数小数一起),最前面一位表示正负

    http://docwiki.embarcadero.com/RADStudio/Seattle/en/Internal_Data_Formats 关于Double的RTL函数,好像就一个:TrySt ...