3.邮箱验证-jmail

邮箱验证

1 创建163邮箱账号,并登录官方网站,获取POP3/SMTP/IMAP的授权码操作如下:

image-20201103170541362

image-20201103170603883

获取授权码

2 导入jar包 :mail-1.4.jar

3 写java文件

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

/**
 * @author : code1997
 * @date :2020-09-2020/9/15 9:43
 */
public class JmailDemo {

    // 发件人 账号和密码
    public static final String MY_EMAIL_ACCOUNT = "";
    public static final String MY_EMAIL_PASSWORD = "";// 密码,是你自己的设置的授权码

    // SMTP服务器(这里用的163 SMTP服务器)
    public static final String MEAIL_163_SMTP_HOST = "smtp.163.com";
    public static final String SMTP_163_PORT = "25";// 端口号,这个是163使用到的;QQ的应该是465或者875

    public static void main(String[] args) {
        // 收件人
        String receiver = "";
        //标题
        String subject = "测试邮件发送";
        //内容
        String content = "<h1>接受邮件成功</h1>";
        try {
            sendMessage(receiver, subject, content);
        } catch (Exception e) {
            throw new RuntimeException("邮件发送失败!" + e);
        }

    }

    //发送邮件方法:参数:接收方、邮箱标题 邮箱内容
    public static void sendMessage(String receiver, String subject, String content) throws Exception {
        //属性集
        Properties p = new Properties();
        p.setProperty("mail.smtp.host", MEAIL_163_SMTP_HOST);
        p.setProperty("mail.smtp.port", SMTP_163_PORT);
        p.setProperty("mail.smtp.socketFactory.port", SMTP_163_PORT);
        p.setProperty("mail.smtp.auth", "true");//是否需要认证
        p.setProperty("mail.smtp.socketFactory.class", "SSL_FACTORY");
        //获取连接
        Session session = Session.getInstance(p, new Authenticator() {
            // 设置认证账户信息
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(MY_EMAIL_ACCOUNT, MY_EMAIL_PASSWORD);
            }
        });
        session.setDebug(true);//设置debug测试
        System.out.println("创建邮件");
        MimeMessage message = new MimeMessage(session);
        // 发件人
        message.setFrom(new InternetAddress(MY_EMAIL_ACCOUNT));
        // 收件人和抄送人
        message.setRecipients(Message.RecipientType.TO, receiver);
        // 内容(这个内容还不能乱写,有可能会被SMTP拒绝掉;多试几次吧)
        message.setSubject(subject);
        message.setContent(content, "text/html;charset=UTF-8");
        message.setSentDate(new Date());
        message.saveChanges();//保存设置
        System.out.println("准备发送");
        Transport.send(message);
        System.out.println("发送成功!");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值