您的位置:首页 > 编程语言 > Java开发

通过javaMail发送邮件

2015-09-17 17:49 441 查看
最近工作比较闲,出于个人兴趣,写了个发送邮件的工具类。本次是通过163邮箱发送邮件,

相关jar包:javax.mail.*

[code]package com.youxu.util;

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;

public class MailUtils {
    /**
     * 这是一个工具类,各方面都兼容
     * 
     * @param to
     *            收件人邮箱
     * @param code
     *            必要时的用户验证
     * @throws Exception
     */
    public static void sendMail(String to, String code) throws Exception {
        Properties props = new Properties();
        // 设置服务器
        props.setProperty("mail.smtp.host", "smtp.163.com");
        // 设置权限,这是由于163.126.等等,公共邮件为了发垃圾邮件需要设置的,
        // 不然会报异常,553 authentication is
        // required,smtp13,EcCowACXHjuxivpVRZHkCA--.51163S2 1442482875
        props.put("mail.smtp.auth", "true");
        // 1.Session对象.连接(与邮箱服务器连接)
        Session session = Session.getInstance(props, new Authenticator() {

            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                // 设置发邮件帐号和密码
                return new PasswordAuthentication("y****@163.com", "*****");
            }

        });

        // 2.构建邮件信息:
        Message message = new MimeMessage(session);
        // 发件人:
        message.setFrom(new InternetAddress("***@163.com"));
        // 收件人:
        message.setRecipient(RecipientType.TO, new InternetAddress(to));
        // 设置邮件的标题
        message.setSubject("******");
        // 设置正文,通过HTML标签设置内容格式
        message.setContent("<h1>*********</h1><h3>***********</h3>",
                "text/html;charset=UTF-8");

        // 3.发送对象
        Transport.send(message);
    }
}


代码简单明了,只需调用即可,参数看情况添加,

与大家共勉,谢谢!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: