实现邮箱验证功能的代码

来源:互联网 发布:9月21网络大电影票房 编辑:程序博客网 时间:2024/05/22 06:51
package com.maxtech.util;import javax.mail.Authenticator;import javax.mail.PasswordAuthentication;public class MyEmailAutherticator extends Authenticator {    //用户名(登录邮箱)    private String username;    //密码    private String password;    public MyEmailAutherticator() {        super();    }    //初始化邮箱和密码    public MyEmailAutherticator(String username, String password) {        this.username = username;        this.password = password;    }    //用作登录校验,以确保对该邮箱有发送邮件的权利    public PasswordAuthentication getPasswordAuthentication() {        return new PasswordAuthentication(username, password);    }    //set and get method    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }}/////////////////////////////////////////////////////////////////////////////////////package com.maxtech.util;import java.util.Date;import java.util.Properties;import javax.mail.Address;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.SendFailedException;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;public class Mail {    //发送邮件的帐号和密码    private String username="xxxxx@qq.com";    private String password="xxxxx";//    private String host = "smtp.qq.com";    private String host = "mail.qq.com";    private String mail_head_name = "this is head of this mail";    private String mail_head_value = "this is head of this mail";    private String mail_to ;    public String getMail_to() {return mail_to;}public void setMail_to(String mail_to) {this.mail_to = mail_to;}private String mail_from = "xx@qq.com";    private String mail_subject = "xxxxxxxxx";    private String mail_body ;    public String getMail_body() {return mail_body;}public void setMail_body(String mail_body) {this.mail_body = mail_body;}private String personalName = "xxxxxx";    public void sendMail() throws SendFailedException{        try {             //发送邮件的props文件            Properties props = new Properties();            // 初始化props            props.put("mail.smtp.host", host);            props.put("mail.smtp.auth", "true");            System.out.println(props);            //进行邮件服务用户认证            Authenticator auth = new MyEmailAutherticator(username,password);            // 创建session,和邮件服务器进行通讯            Session session = Session.getDefaultInstance(props,auth);            // 创建mime类型邮件            MimeMessage message = new MimeMessage(session);            //设置邮件格式,这里决定发送的内容换行是用文本(win下\r\n   linux下\n    osx下\r)还是br      //我们最好选择用邮件格式,因为text格式不同的平台换行符不一样()            message.setContent(mail_body,"text/html;charset=utf-8");           //设置文本格式            //message.setText(mail_body);            // 设置主题            message.setSubject(mail_subject);            //设置邮件标题            message.setHeader(mail_head_name, mail_head_value);            //设置邮件发送时期            message.setSentDate(new Date());            Address address = new InternetAddress(mail_from,personalName);            //设置邮件发送者的地址            message.setFrom(address);            //======单发邮件======            //设置邮件接收者的地址            Address toaddress = new InternetAddress(mail_to);            // 设置收件人            message.addRecipient(Message.RecipientType.TO,toaddress);            //======群发邮件======//            List recipients = new ArrayList();//            recipients.add("123456789@qq.com");//            recipients.add("234567890@gmail.com");//            final int num = recipients.size();//            InternetAddress[] addresses = new InternetAddress[num];//            for (int i = 0; i < num; i++) {//                addresses[i] = new InternetAddress(recipients.get(i));//            }//            message.setRecipients(Message.RecipientType.TO, addresses);            System.out.println(message);            // 发送邮件            Transport.send(message);            System.out.println("Send Mail Ok!");        } catch (Exception e) {            e.printStackTrace();        }    }}
0 0
原创粉丝点击