package com.landray.kmss.km.review.actions;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.mail.MailAuthenticationException;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import com.landray.kmss.common.actions.ExtendAction;
import com.landray.kmss.common.service.IBaseService;
import com.landray.kmss.web.action.ActionForm;
import com.landray.kmss.web.action.ActionForward;
import com.landray.kmss.web.action.ActionMapping;
import net.sf.json.JSONObject;
/**
* 验证邮箱用户名密码是否正确
* @author Administrator
*
*/
public class KmReviewSendEmailAction extends ExtendAction {
private static Log logger = LogFactory.getLog(KmReviewSendEmailAction.class);
@Override
protected IBaseService getServiceImp(HttpServletRequest request) {
// TODO Auto-generated method stub
return null;
}
public ActionForward validationSendEmail(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
String fdRtn = "";
final String senderEmail = request.getParameter("senderEmail");
// 发件人邮箱密码
final String sendEmailPass = request.getParameter("sendEmailPass");
JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
// 发邮件人邮箱
javaMailSender.setUsername(senderEmail);
// 发邮件人邮箱密码(默认使用客户端的授权码)
javaMailSender.setPassword(sendEmailPass);
// 设置邮件服务器主机名 SMTP服务器地址
javaMailSender.setHost("mail.boshi.cn");
// SMTP服务器: 默认端口 换成腾讯云服务器后,需要将端口换成465
// javaMailSender.setPort(465);
javaMailSender.setPort(25);
发送邮件协议名称
javaMailSender.setProtocol("smtp");
// 编码格式
javaMailSender.setDefaultEncoding("UTF-8");
// 创建连接对象,连接到邮箱服务器
Properties mailProperties = new Properties();
// 发送服务器需要身份验证,要采用指定用户名密码的方式去认证
mailProperties.put("mail.smtp.auth", true);
mailProperties.put("mail.smtp.starttls.enable", true);
// 添加连接对象到邮件对象中
javaMailSender.setJavaMailProperties(mailProperties);
try {
// 得到默认的对话对象
Authenticator a = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(senderEmail, sendEmailPass);
}
};
Session session = Session.getDefaultInstance(mailProperties, a);
session.setDebug(true);
// 创建MimeMessage实例对象
MimeMessage message = new MimeMessage(session);
javaMailSender.send(message);
} catch (MailAuthenticationException e) {
logger.warn("------------------邮件用户名或密码不正确--------------------");
fdRtn = "false";
} catch (NullPointerException e) {
logger.warn("----------------------邮件验证通过--------------------");
fdRtn = "true";
}
JSONObject json11 = new JSONObject();
json11.put("fdRtn", fdRtn);
response.setCharacterEncoding("UTF-8");
response.getWriter().append(json11.toString());
response.getWriter().flush();
response.getWriter().close();
return null;
}
}
验证 邮箱密码
最新推荐文章于 2024-04-29 02:52:44 发布