java 静态发送邮箱

来源:互联网 发布:国外十大网络翻唱歌手 编辑:程序博客网 时间:2024/06/05 03:31

1需要的包

     准备好 activation.jar  mail.jar  网上有下载 

2前台页面 

        


 页面大概就是这个样子 自己写 ;点击获取验证码的时候 把填入的邮箱以ajax传到后台    后台处理发把验证码送邮箱后在返回 验证码到页面 



3提交


   到后台以静态方式发生javamail 发送邮箱最好是新浪邮箱,否则其他邮箱可能发送不了


4 后台代码  



                          package Mali;//引入包名
                          import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Message.RecipientType;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

                                       @Controller("Mali")
@Scope("prototype")
/*
 * 发送邮件
 */
public class JavaEmail {
private String you;//页面传过来的邮箱
 public void sendMail() throws Exception {
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");// 设置发送邮件采用的协议
props.setProperty("mail.smtp.auth", "true");// 设置邮件验证方式
props.setProperty("mail.host", "smtp.sina.com");// 邮件SMTP服务器
Session session = Session.getDefaultInstance(props,new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("zhlishipingtai","密码");//填写账号名和密码
}
});// 获取Session事例并通过匿名类设置登录邮件服务器的用户名和密码
session.setDebug(true);// 设置是否在控制台打印调试信息
Message msg = new MimeMessage(session);// 构建邮件
msg.addRecipient(RecipientType.TO, new InternetAddress(you));// 设置邮件发送地址并指定邮件发送模式为RecipientType.TO
msg.setFrom(new InternetAddress("zhlishipingtai@sina.com", "珠海力狮电子有限公司"));
// 设置邮件发送人
// 设置验证码
String[] beforeShuffle = new String[] { "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "a", "b", "d", "c", "e", "f", "g", "h",
"i", "j", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
"w", "x", "y", "z" };
List list = Arrays.asList(beforeShuffle);
Collections.shuffle(list);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
sb.append(list.get(i));
}
String afterShuffle = sb.toString();
String result = afterShuffle.substring(3, 9);
msg.setSubject("力狮管理初始化程序:验证码");// 设置邮件标题
msg.setText(result);// 设置邮件类容
msg.saveChanges();// 保存邮件


Multipart mainPart = new MimeMultipart();
// 创建一个包含HTML内容的MimeBodyPart


BodyPart html = new MimeBodyPart();
// 设置HTML内容
html.setContent(msg.getContent(), "text/html; charset=utf-8");
msg.setContent(mainPart);
mainPart.addBodyPart(html);
            Transport.send(msg);// 通过Transport静态方法发送邮件


HttpServletResponse response = ServletActionContext.getResponse();
PrintWriter out = response.getWriter();
out.print(result);
}
public String getYou() {
return you;
}


public void setYou(String you) {
this.you = you;
}


public JavaEmail(String you) {
super();
this.you = you;
}


public JavaEmail() {
super();


}
}








0 0