需求分析
客户需要注册某一个app,选择邮箱注册。
客户操作
打开app,点击邮箱注册,会收到一个跳转提示,跳往邮箱验证页面。
app操作
传入后台两个参数:邮箱地址、验证内容
后台操作
0.导入java自带的发送邮件的jar包,我的是maven工程
pom.xml文件里添加
com.sun.mail javax.mail 1.5.2
1.接收参数
实现层代码如下
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;@Servicepublic 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; }}