需求分析
客户需要注册某一个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