Java实现邮箱验证功能

(p.s.减少出现554垃圾邮件

1。先给自己抄送一份:

message.addRecipient(Message.RecipientType.CC, new InternetAddress(from)); //给自己抄送一份,避免出现554

2。给邮件设置header:

message.setHeader("Header", "SHShop激活验证");  //添加header,防止网易出现554垃圾邮件

最近在做课设,需要实现一个邮箱注册的功能,因此需要后台发送邮件来验证。

我选择了网易邮箱。申请邮箱后打开smtp服务。

登录网易邮箱后,在设置里打开smtp功能

勾选上面两个框框,然后记住自己的秘钥,之后发邮件时需要验证。


	public String from = "xxxxxxx";  //发件方
	public String auth = "xxxxxxx";  //你开启smtp服务时设置的秘钥,非邮箱登录密码
	public String to= "xxxxxxx";  //收件方
public Integer call() throws Exception {
		// TODO Auto-generated method stub
		int code  = getRandomCode();
		String contentString = "尊敬的用户,感谢您注册SHShop,您的验证码为:<h3>" + code + "</h3>,请尽快输入验证码完成注册。谢谢!";
		Properties prop = new Properties();
		prop.put("mail.host", "smtp.yeah.net");
		prop.put("mail.transport.protocol", "smtp");
		prop.put("mail.smtp.auth", "true");
		Session session = Session.getDefaultInstance(prop);
		session.setDebug(true);  //开启发邮件时dubug,
		try {
			MimeMessage message = new MimeMessage(session);
			message.setFrom(new InternetAddress(from));
			message.setHeader("Header", "SHShop激活验证");  //添加header,防止网易出现554垃圾邮件
			message.addRecipient(Message.RecipientType.CC, new InternetAddress(from));//先给自己抄送一份,可以减少出现554垃圾邮件
			message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
			message.setSubject("SHShop激活验证");  //设置邮箱主题
			Multipart multipart = new MimeMultipart();  //向multipart中加载邮箱各个部分内容,包括文本和附件
			BodyPart contentPart = new MimeBodyPart();  //设置邮件文本内容
			contentPart.setContent(contentString, "text/html; charset=utf-8");
			multipart.addBodyPart(contentPart);
			message.setContent(multipart);
			message.saveChanges(); //保存变化
			Transport transport = session.getTransport("smtp"); //链接服务器的邮箱
			transport.connect("smtp.yeah.net",from, auth); //auth是你开启smtp时设置证书,不是邮箱密码
			transport.sendMessage(message, message.getAllRecipients());
			transport.close();
			return code;
		}catch (Exception e) {
			// TODO: handle exception
			return 0;
		}
		
	}
	
	private int getRandomCode () {
		int code = (int)(Math.random()*9000) + 1000;
		return code;
		
	}

ok。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值