欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java发送简单邮件

程序员文章站 2024-03-20 10:50:46
...

1. 准备工作

1.1 注册一个网页邮箱,QQ邮箱也是可以的,这里我使用的是网易邮箱来发送。

1.2 注册完成后开启POP3/SMTP服务,如图所示

java发送简单邮件

开启服务

java发送简单邮件

1.3 设置授权,设置密码是邮箱登录的密码即可

java发送简单邮件

1.4 导包

java发送简单邮件

到这里,准备工作已经基本完成了。

2. 源码

public class MailUtil {
    public static void sendMessage(String toAddr,String subject,String content) throws Exception{
        Properties props = new Properties();
//      props.put("mail.smtp.host", "smtp.qq.com");
        //用什么邮箱发送,指定邮件的发送服务器地址
        props.put("mail.smtp.host", "smtp.163.com");
        //服务器是否要验证用户的身份信息
        props.put("mail.smtp.auth", "true");

        //得到session
        Session session = Session.getInstance(props);
        //代表启用debug模式,可以在控制台输出smtp协议应答的过程  
        session.setDebug(true);

        //创建一个MimeMessage格式的邮件
        MimeMessage message = new MimeMessage(session);

        //设置发送者
        Address fromAddress = new InternetAddress("aaa@qq.com");//邮件地址,发送者的邮箱
        message.setFrom(fromAddress);//设置发送的邮件地址

        //设置接收者,toAddr为接收者的邮箱,任意邮箱,可以是qq邮箱等
        Address toAddress = new InternetAddress(toAddr);//邮件地址
        message.setRecipient(RecipientType.TO, toAddress);//设置接收者的地址

        //设置邮件的主题
        message.setSubject(subject);
        //设置邮件的内容
        message.setText(content);

        //保存邮件
        message.saveChanges();

        //得到发送邮件
        Transport transport = session.getTransport("smtp");

        //连接到服务器上
        transport.connect("smtp.163.com","aaa@qq.com","xxxxx");

        //发送给所有的接收者
        transport.sendMessage(message, message.getAllRecipients());

        //关闭通道
        transport.close();
    }

    public static void main(String[] args) {
        try {
            //aaa@qq.com为接收者的邮箱
            MailUtil.sendMessage("aaa@qq.com", "我是邮件的主题,测试邮件发送", "我是邮件的内容,测试成功啦~~");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

3. 成功发送

java发送简单邮件

4. 接收到的邮件

java发送简单邮件