java发送邮件工具类

来源:互联网 发布:淘宝账号信息查询 编辑:程序博客网 时间:2024/05/17 01:52

java发送邮件,分为使用外网和不能使用外网的两种情况,在不能使用外网的情况下,可以搭建本地邮件服务器.对这两种情况分别写了demo,针对不同环境下使用.

/** * 邮件发送工具类 */public class MailUtils {    /**     * 本地邮件发送     * @param email 收件人地址     * @param emailMsg 发送内容     * @throws AddressException 地址异常     * @throws MessagingException 邮件消息异常     */    public static void sendEmail(String email, String emailMsg)            throws AddressException, MessagingException {        // 1.创建一个程序与邮件服务器会话对象 Session        Properties props = new Properties();        //设置发送的协议        props.setProperty("mail.transport.protocol", "SMTP");        //设置发送邮件的服务器        props.setProperty("mail.host", "127.0.0.1");        props.setProperty("mail.smtp.auth", "true");        // 创建验证器        Authenticator auth = new Authenticator(){            @Override            protected PasswordAuthentication getPasswordAuthentication() {                // 设置发送人的账号和密码                return new PasswordAuthentication("admin","123");            }        };        Session session = Session.getInstance(props,auth);        // 2.创建一个Message,它相当于是邮件内容        Message message = new MimeMessage(session);        //设置发送者        message.setFrom(new InternetAddress("admin@maibenben.com"));        //设置发送方式与接收者        message.setRecipient(RecipientType.TO, new InternetAddress(email));        //设置邮件主题        message.setSubject("用户激活!");        //设置邮件内容        message.setContent(emailMsg,"text/html;charset=UTF-8");        // 3.创建 Transport用于将邮件发送        Transport.send(message);    }    /**     * 本地邮件发送     * @param to 邮件地址     * @param code 激活码     */    public static void sendEmail2(String to,String code){        //1.创建一个程序与邮箱服务器对话session对象        Properties props = new Properties();        //设置发送邮件的服务器        props.setProperty("smtp.host", "localhost");        //创建session,创建验证器        Session session = Session.getInstance(props,new Authenticator() {            @Override            protected PasswordAuthentication getPasswordAuthentication() {                // 设置发送人的账号和密码                return new PasswordAuthentication("admin","123");            }        });        //2.创建Message对象,相当于邮件内容        Message message = new MimeMessage(session);        //设置发件人        try {            message.setFrom(new InternetAddress("admin@maibenben.com"));            //设置发送方式与收件人            message.addRecipient(RecipientType.TO,new InternetAddress(to));            //设置邮件主题            message.setSubject("来自商城的激活邮件!");            //设置内容            String url = "http://127.0.0.1:8080/store/UserServlet?method=active&code="+code;            message.setContent("<h1>来自商城的邮件,激活请点击以下链接!</h1><h3><a href='"+url+"'>"+url+"</a></h3>","text/html;charset=UTF-8");            //3.创建Transport对象,发送邮件            Transport.send(message);        } catch (MessagingException e) {            e.printStackTrace();        }    }    /**     * 外网邮件发送     * @param email 邮件地址     * @param code 激活码     */    public static void sendEmail3(String to, String code) {        //1.创建与邮箱服务器对话的Session对象        Properties props = new Properties();        //设置发送邮件的服务器        props.setProperty("mail.host", "smtp.163.com");        props.setProperty("mail.stmp.auth", "true");//指定验证为true        Session session = Session.getInstance(props,new Authenticator(){            @Override            protected PasswordAuthentication getPasswordAuthentication() {                //设置发件人的账号和密码                return new PasswordAuthentication("shu","1234shua");            }        });        //2.创建Message对象,它是邮件的内容        Message message = new MimeMessage(session);        //设置发件人        try {            //设置发件人地址            message.setFrom(new InternetAddress("shu@163.com"));            //设置发送方式和收件人            message.addRecipient(RecipientType.TO,new InternetAddress("hai@126.com"));            //设置主题            message.setSubject("来自商城的激活邮件");            //设置内容,也可直接把内容写入code中            String url = "http://localhost:8080/store/UserServlet?method=active&code="+code;            message.setContent("<h1>来自商城的激活邮件!激活请点击以下链接!</h1><h3><a href='"+url+"' >"+url+"</a></h3>","text/html;charset=UTF-8");            //3.创建Transport对象,用于发送邮件            Transport.send(message);        } catch (MessagingException e) {            e.printStackTrace();        }    }}
0 0
原创粉丝点击