学习社区中用蒙版发布公告后,先进入后台存储公告内容,如果内容成功存储即公告发布成功,返回页面后再调用ajax发送邮件。
-
Ajax发送邮件
普通类 -
- 支持
- 批判
- 提问
- 解释
- 补充
- 删除
-
-
Ajax发送邮件
核心要点拿社区发布公告为例:
1、ajax发布公告
详见:中蒙版js:$('#create_bulletin').click和发布公告提交js:$('#top_releaseBulletin_OK').click
2、后台处理,存储公告内容,并返回存储成功与否的状态,success或者fail,以及要发送邮件的接收人和邮件内容。
详见:的createCmBulletinByAjax方法
3、返回页面后,ajax发送邮件
//发送email
function sendEmailByAjax(mailAdds,mailContent,Flag){
$.ajax({
url: '/do/cmbulletin?action=CmBulletinSendEmailByAjax',
type: 'POST',
data:{mailAdds:mailAdds,mailContent:mailContent,Flag:Flag},
dataType: 'html',
timeout: 5000
});
}4、后台处理发送邮件ajax,不返回状态,不影响前台操作
/**
* ajax方式在创建或者编辑一个公告后发邮件
* @author 胡智杰
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward CmBulletinSendEmailByAjax(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception{
String mailAdds = "";
String mailContent = "";
String Flag = "";
if(request.getParameter("mailAdds") != null && !(request.getParameter("mailAdds").equals(""))){
mailAdds = request.getParameter("mailAdds");
}
if(request.getParameter("mailContent") != null && !(request.getParameter("mailContent").equals(""))){
mailContent = request.getParameter("mailContent");
}
if(request.getParameter("Flag") != null && !(request.getParameter("Flag").equals(""))){
Flag = request.getParameter("Flag");
}
User sessionUser = SessionManager.getUser(request);
String language=SysConstants.SYS_LANGUAGE;
if (sessionUser != null) {
language=sessionUser.getLanguage();
}
try {
// 如下部分完成邮件的发送工作
// 放到try catch语句当中,得考虑进一步把方法封装好
// 不再使用gmail服务器发送邮件,换用CETV的邮件服务器yxm
if(mailAdds!=null&&!mailAdds.equals("")){
NetEaseUtil client = new NetEaseUtil();
client.init();
client.sendMessage(client.createMessageByCommunity(mailAdds, mailContent,Flag,language));
client.close();
}
} catch (PersistenceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
} -
-
- 标签:
- 邮件
-
学习元评论 (0条)
聪明如你,不妨在这 发表你的看法与心得 ~