需求分析java
客户须要注册某一个app,选择邮箱注册。spring
客户操做服务器
打开app,点击邮箱注册,会收到一个跳转提示,跳往邮箱验证页面。session
app操做app
传入后台两个参数:邮箱地址、验证内容maven
后台操做ide
0.导入java自带的发送邮件的jar包,个人是maven工程code
pom.xml文件里添加xml
<dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.5.2</version> </dependency>
1.接收参数ip
实现层代码以下
import java.util.Date; import java.util.Properties; import javax.mail.BodyPart; import javax.mail.Session; import javax.mail.Message.RecipientType; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; import org.springframework.stereotype.Service; import com.zhiji.caren.common.Constant; import com.zhiji.caren.common.ResultCode; import com.zhiji.caren.common.ResultMsg; import com.zhiji.caren.common.ResultObject; import com.zhiji.caren.service.SendEailService; @Service public class SendEmailServiceImpl implements SendEailService { @Override public ResultObject actMail(String Email, String iCode) { ResultObject resultObject = new ResultObject(); try { Properties props = System.getProperties(); props.setProperty("mail.transport.protocol", "smtp"); // 邮箱协议 props.put("mail.smtp.host", "smtp.qq.com");// 邮箱服务器 props.put("mail.smtp.auth", "ture");// 是否须要身份验证 props.put("mail.smtp.port", 25);// 服务器端口 Session mailSession = Session.getDefaultInstance(props); // 设置session,和邮件服务器进行通信。 MimeMessage message = new MimeMessage(mailSession);// 设置邮件类型 MimeMultipart mp = new MimeMultipart(); BodyPart body = new MimeBodyPart(); message.setSubject(MimeUtility.encodeText("xx公司")); // 设置主题 // 设置正文 body.setContent("你好!" + "\n" + "\n" + "欢迎加入XX公司。你的注册邮箱为:" + Email + "\n" + "\n" + "你用于注册XX公司的验证码为:" + "\n" + "\n" + iCode + ",验证经过后便可登陆,如非本人操做请忽略。" + "\n" + "\n" + "\n", "text/plain;charset=GBK"); // mp.addBodyPart(body); message.setContent(mp); message.setHeader("xx公司邮箱验证", "xx公司邮箱验证"); // 设置邮件标题 message.setSentDate(new Date());// 设置邮件发送日期 InternetAddress address = new InternetAddress("123456@qq.com");//发件人帐号 message.setFrom(address); // 设置邮件发送者的地址 InternetAddress toAddress = new InternetAddress(Email); // 设置邮件接收方的地址 message.setRecipient(RecipientType.TO, toAddress);// 添加邮件接受方地址 message.saveChanges(); javax.mail.Transport transport = null;// 建立一个邮件发送实例transport transport = mailSession.getTransport("smtp");//规定tranport使用协议 // 使用transport transport.connect("smtp.qq.com", "123456@qq.com", "123456"); //发送邮件 transport.sendMessage(message, message.getAllRecipients()); transport.close(); resultObject.setResultCode(ResultCode.SUCCESS); resultObject.setResultMsg(ResultMsg.MSG_SUCCESS); } catch (Exception ex) { ex.printStackTrace(); resultObject.setResultCode(ResultCode.FAILED); resultObject.setResultMsg(ResultMsg.MSG_FAILED); } return resultObject; } }