java发送邮件

QQ邮件发送示例:

package com.yang.travel.util;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

/**
 * 我的qq邮箱的授权密码:xxx、xxoo
 */
public class QQMailUtil {
    /**
     * 发送邮件
     * 参数一:发送邮件给谁,收件人邮箱
     * 参数二:发送邮件的内容
     */
    public static void sendMail(String toEmail, String emailMsg) throws Exception {
        // 创建Properties 类用于记录邮箱的一些属性
        Properties props = new Properties();
        // 表示SMTP发送邮件,必须进行身份验证
        props.put("mail.smtp.auth", "true");
        //此处填写SMTP服务器
        props.put("mail.smtp.host", "smtp.qq.com");
        //端口号,QQ邮箱给出了两个端口,但是另一个我一直使用不了,所以就给出这一个587、465
        props.put("mail.smtp.port", "587");
        // 此处填写你的账号
        props.put("mail.user", "115xxxx61@qq.com");
        // 此处的密码就是前面说的16位STMP口令
        props.put("mail.password", "xxxx");

        // 构建授权信息,用于进行SMTP进行身份验证
        Authenticator authenticator = new Authenticator() {

            protected PasswordAuthentication getPasswordAuthentication() {
                // 用户名、密码
                String userName = props.getProperty("mail.user");
                String password = props.getProperty("mail.password");
                return new PasswordAuthentication(userName, password);
            }
        };
        // 使用环境属性和授权信息,创建邮件会话
        Session mailSession = Session.getInstance(props, authenticator);
        // 创建邮件消息
        MimeMessage message = new MimeMessage(mailSession);
        // 设置发件人
        InternetAddress form = new InternetAddress(
                props.getProperty("mail.user"));
        message.setFrom(form);

        // 设置收件人的邮箱
        InternetAddress to = new InternetAddress(toEmail);
        message.setRecipient(MimeMessage.RecipientType.TO, to);

        // 设置邮件标题
        message.setSubject("测试邮件");

        // 设置邮件的内容体
        message.setContent(emailMsg, "text/html;charset=UTF-8");

        // 最后当然就是发送邮件啦
        Transport.send(message);
    }

    public static void main(String[] args) throws Exception{
        String toEmail = "159xxxx19@163.com";
//        String toEmail = "115xxxx61@qq.com";
        String emailMsg = "测试一下";
        sendMail(toEmail,emailMsg);
        System.out.println("发送成功。。。");
    }
}

163邮件发送示例:

package com.yang.travel.util;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class MailUtil {
    /**
     * 发送邮件
     * 参数一:发送邮件给谁,收件人邮箱
     * 参数二:发送邮件的内容
     */
    public static void sendMail(String toEmail, String emailMsg) throws Exception {
        //1_创建Java程序与163邮件服务器的连接对象
        Properties props = new Properties();
        //填写SMTP服务器
        props.put("mail.smtp.host", "smtp.163.com");//qq服务器发送地址smtp.qq.com
        //SMTP发送邮件,必须进行身份验证
        props.put("mail.smtp.auth", "true");
        //构建授权信息,用于进行SMTP进行身份验证
        Authenticator auth = new Authenticator() {
            public PasswordAuthentication getPasswordAuthentication() {
                //前者表示授权用户名即邮箱名,后者表示授权密码
                return new PasswordAuthentication("159xxxx9", "19xxxg");//第三方发送邮件授权码
            }
        };
        //使用环境属性和授权信息,创建邮件会话
        Session session = Session.getInstance(props, auth);
        //2_创建一封邮件
        Message message = new MimeMessage(session);
        //设置发件人邮箱
        message.setFrom(new InternetAddress("159xxxx9@163.com"));
        //设置收件人邮箱
        message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(toEmail));
        //设置邮件啊标题
        message.setSubject("用户激活");
        //设置发送邮件的内容体
        message.setContent(emailMsg, "text/html;charset=UTF-8");
        //3_发送邮件
        Transport.send(message);
    }

    //发件人:xxxxxx
    //邮箱授权名和密码:xxoo,xxxx(授权密码不是登录密码,是自己设置客户端授权密码的时候自己设置的)
    //授权用户名即邮箱用户名去掉@163.com

    //我的163邮箱的授权密码是1991yangenwang


    /**
     * 测试类
     */
    public static void main(String[] args) throws Exception{
//        String toEmail = "159xxxx9@163.com";
        String toEmail = "115xxxx61@qq.com";
        String emailMsg = "测试一下";
        sendMail(toEmail,emailMsg);
        System.out.println("发送成功。。。");
    }
}

 

大神博客:https://blog.csdn.net/qq_32371887/article/details/72821291

https://www.cnblogs.com/xdp-gacl/p/4216311.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值