需求分析
客户需要注册某一个app,选择邮箱注册。
客户操作
打开app,点击邮箱注册,会收到一个跳转提示,跳往邮箱验证页面。
app操作
传入后台两个参数:邮箱地址、验证内容
后台操作
0.导入java自带的发送邮件的jar包,我的是maven工程
pom.xml文件里添加
<dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.5.2</version> </dependency>
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; @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", Constant.EmailSmtp); // 邮箱协议 props.put("mail.smtp.host", Constant.EmailHost);// 邮箱服务器 props.put("mail.smtp.auth", Constant.EmailAuth);// 是否需要身份验证 props.put("mail.smtp.port", Constant.EmailPort);// 服务器端口 Session mailSession = Session.getDefaultInstance(props); // 设置session,和邮件服务器进行通讯。 MimeMessage message = new MimeMessage(mailSession);// 设置邮件类型 MimeMultipart mp = new MimeMultipart(); BodyPart body = new MimeBodyPart(); message.setSubject(MimeUtility.encodeText(Constant.Subject)); // 设置主题 // 设置正文 body.setContent(Constant.emailContentStr1 + Constant.emailContentStr5 + Constant.emailContentStr5 + Constant.emailContentStr2 + Email + Constant.emailContentStr5 + Constant.emailContentStr5 + Constant.emailContentStr5 + Constant.emailContentStr3 + Constant.emailContentStr5 + Constant.emailContentStr5 + iCode + Constant.emailContentStr4 + Constant.emailContentStr5 + Constant.emailContentStr5 + Constant.emailContentStr5, "text/plain;charset=GBK"); // mp.addBodyPart(body); message.setContent(mp); message.setHeader(Constant.emailtitle, Constant.emailtitleInfo); // 设置邮件标题 message.setSentDate(new Date());// 设置邮件发送日期 InternetAddress address = new InternetAddress(Constant.EmailCount); message.setFrom(address); // 设置邮件发送者的地址 InternetAddress toAddress = new InternetAddress(Email); // 设置邮件接收方的地址 message.setRecipient(RecipientType.TO, toAddress);// 添加邮件接受方地址 message.saveChanges(); javax.mail.Transport transport = null;// 创建一个邮件发送实例transport transport = mailSession.getTransport(Constant.EmailSmtp);//规定tranport使用协议 // 使用transport transport.connect(Constant.EmailHost, Constant.EmailCount, Constant.EmailPassword); 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; } }
原文:http://my.oschina.net/u/2312022/blog/517414