验证 邮箱密码

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



}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值