团队作业4——项目冲刺 Day3
一、 昨天已完成的工作
用户登录界面设计、用户登录的后台设计、完成了数据库的初步构建
二、 今天计划完成的工作
用户界面的初步设计、用户登录的后台完善、完善数据库构建
三、 工作中遇到的困难
暂无
四、 发布项目燃尽图
五、 代码签入
暂无
六、 最新模块的代码
package SendEmailCode;
import CreateVerificationCode.CreateVerificationCode;
import com.sun.mail.util.MailSSLSocketFactory;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.security.GeneralSecurityException;
import java.util.Properties;
public class SendEmailCoed implements emailCode {
//发件人邮箱类
private class SenderEmail {
//邮箱
private String senderEmail;
//邮箱授权码
private String senderEmailPassword;
public SenderEmail(String senderEmail,String senderEmailPassword){
this.senderEmail = senderEmail;
this.senderEmailPassword = senderEmailPassword;
}
public String getSenderEmail() {
return senderEmail;
}
public String getSenderEmailPassword() {
return senderEmailPassword;
}
public void setSenderEmail(String senderEmail) {
this.senderEmail = senderEmail;
}
public void setSenderEmailPassword(String senderEmailPassword){
this.senderEmailPassword = senderEmailPassword;
}
//设置邮箱主机
public String getSmtp(){
String[] get = this.senderEmail.split("@");
get[1] = "smtp."+get[1];
return get[1];
}
}
@Override
public String sendCode(String email) {
//创建发送人的邮箱
SenderEmail senderEmail = new SenderEmail("[email protected]","FBIARFCJVHBDGUOY");
//生成验证码
CreateVerificationCode code = new CreateVerificationCode();
code.newVerificationCode();
//创建一个Properties对象
Properties pro = new Properties();
//设置主机
pro.setProperty("mail.host",senderEmail.getSmtp());
//设置传输协议
pro.setProperty("mail.transport.protocol","smtp");
//设置允许邮箱授权认证
pro.setProperty("mail.smtp.auth","true");
//检查邮箱类型
String[] emailType = email.split("@");
//QQ邮箱存在一个特性设置SSL加密
if(emailType[1].equals("qq.com")) {
try {
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
pro.put("mail.smtp.ssl.enable", "true");
pro.put("mail.smtp.ssl.socketFactory", sf);
} catch (GeneralSecurityException e) {
// e.printStackTrace();
System.out.println("SSL加密失败");
}
}
//邮箱授权认证
//创建验证器
class Auth extends Authenticator{
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(senderEmail.getSenderEmail(),senderEmail.getSenderEmailPassword());
}
}
Auth auth = new Auth();
//获取一个Session会话对象
Session session = Session.getDefaultInstance(pro, auth);
try {
//获取连接
Transport tra = session.getTransport();
//连接服务器
tra.connect(senderEmail.getSmtp(),senderEmail.getSenderEmail(),senderEmail.getSenderEmailPassword());
//创建邮件对象
MimeMessage message = new MimeMessage(session);
//设置发件人地址
message.setFrom(new InternetAddress(senderEmail.getSenderEmail()));
//设置收件人地址(单发)
message.setRecipient(Message.RecipientType.TO,new InternetAddress(email));
//设置邮件标题
message.setSubject("验证码");
//设置邮件内容
message.setContent(code.getVerificationCode(),"text/html;charset=utf-8");
//发送邮件
tra.sendMessage(message,message.getAllRecipients());
//关闭连接
tra.close();
} catch (NoSuchProviderException e) {
// e.printStackTrace();
System.out.println("网络连接不成功");
return null;
} catch (MessagingException e) {
// e.printStackTrace();
System.out.println("邮件发送失败");
return null;
}
return code.getVerificationCode();
}
}
七、 运行结果的截图
八、 总结
一切按计划进行,尽管慢,但是仍能看见我们的项目一步步构建出来