JAVA发送邮件(163邮箱发送)

    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
package com.simons.utils;

public class EmailAuthInfo {
    private String userCount;//用户账户
    private String authCode;//授权码
    private String smtpAdr;//smtp地址
    private String sendTo;//收件人

    EmailAuthInfo(){
        this.userCount = "yue51259@163.com";
        this.smtpAdr  = "smtp.163.com";
        this.authCode = "16位授权码";
        this.sendTo = "收件人邮箱:aa@qq.com";
    }

    public String getUserCount() {
        return userCount;
    }

    public void setUserCount(String userCount) {
        this.userCount = userCount;
    }

    public String getAuthCode() {
        return authCode;
    }

    public void setAuthCode(String authCode) {
        this.authCode = authCode;
    }

    public String getSmtpAdr() {
        return smtpAdr;
    }

    public void setSmtpAdr(String smtpAdr) {
        this.smtpAdr = smtpAdr;
    }

    public String getSendTo() {
        return sendTo;
    }

    public void setSendTo(String sendTo) {
        this.sendTo = sendTo;
    }
}
package com.simons.utils;

import com.sun.mail.util.MailSSLSocketFactory;

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

public class SendEamil {
    public static void main(String[] args) throws MessagingException, GeneralSecurityException {
        //创建一个配置文件并保存
        Properties properties = new Properties();

        properties.setProperty("mail.host","smtp.163.com");

        properties.setProperty("mail.transport.protocol","smtp");

        properties.setProperty("mail.smtp.auth","true");
        EmailAuthInfo emailAuthInfo = new EmailAuthInfo();

        //QQ存在一个特性设置SSL加密
        MailSSLSocketFactory sf = new MailSSLSocketFactory();
        sf.setTrustAllHosts(true);
        properties.put("mail.smtp.ssl.enable", "true");
        properties.put("mail.smtp.ssl.socketFactory", sf);

        //创建一个session对象
        Session session = Session.getDefaultInstance(properties, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(emailAuthInfo.getUserCount(),emailAuthInfo.getAuthCode());
            }
        });

        //开启debug模式
        session.setDebug(true);

        //获取连接对象
        Transport transport = session.getTransport();

        //连接服务器
        transport.connect(emailAuthInfo.getSmtpAdr(),emailAuthInfo.getUserCount(),emailAuthInfo.getAuthCode());

        //创建邮件对象
        MimeMessage mimeMessage = new MimeMessage(session);

        //邮件发送人
        mimeMessage.setFrom(new InternetAddress(emailAuthInfo.getUserCount()));

        //邮件接收人
        mimeMessage.setRecipient(Message.RecipientType.TO,new InternetAddress(emailAuthInfo.getSendTo()));

        //邮件标题
        mimeMessage.setSubject("HAMT“超大预警”");

        //邮件内容
        mimeMessage.setContent("尊敬的信管专员:用户WX1111680发送超大附件xxxx,具体信息如下。请您审核","text/html;charset=UTF-8");

        //发送邮件
        transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients());

        //关闭连接
        transport.close();
//        log.info("邮件发送成功");
        System.out.println("邮件发送成功");
    }
}

 邮件发送成功。具体原理不解释了。网上都有。其他版本的邮件差不多是这样子。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值