百木园-与人分享,
就是让自己快乐。

Java实现邮件发送

这里我们以QQ邮箱为例。

一、导入依赖:

    <dependencies>
        <!-- https://mvnrepository.com/artifact/javax.activation/activation -->
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.mail/mail -->
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.7</version>
        </dependency>
    </dependencies>

二、设置自己的QQ邮箱

 

 开启以上两项服务。

三、具体实现

import com.sun.mail.util.MailSSLSocketFactory;

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

public class SendEmail {

    /* addressee:收件人邮箱
     *title:邮件标题标题
     *content:邮件内容
     */
    public static void send(String addressee, String title, String content) throws Exception {

        Properties prop = new Properties();
        prop.setProperty(\"mail.host\", \"smtp.qq.com\");//邮件服务器:QQ
        prop.setProperty(\"mail.transport.protocol\", \"smtp\");//邮件发送协议:smtp
        prop.setProperty(\"mail.smtp.auth\", \"true\");//需要验证用户名和密码

        //QQ邮箱,还需要设置SSL加密
        MailSSLSocketFactory factory = new MailSSLSocketFactory();
        factory.setTrustAllHosts(true);
        prop.put(\"maim.smtp.ssl.enable\", \"true\");
        prop.put(\"maim.smtp.ssl.socketFactory\", factory);

        //javaMail发送email的五个步骤
        //1.定义一个整个应用环境需要的session对象
        Session session = Session.getDefaultInstance(prop, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(\"自己的邮箱\", \"授权码\");
            }
        });
        //开启session的debug模式
        session.setDebug(true);
        //2.通过session得到transport对象
        Transport transport = session.getTransport();
        //3.使用邮箱用户名和授权码连接上服务器
        transport.connect(\"smtp.qq.com\", \"自己的邮箱\", 授权码\");
        //4.创建邮件
        //创建邮件对象
        MimeMessage message = new MimeMessage(session);
        //发邮件人
        message.setFrom(new InternetAddress(\"自己的邮箱\"));
        //收件人 可以群发setRecipients
        message.setRecipient(Message.RecipientType.TO, new InternetAddress(addressee));
        //邮件标题
        message.setSubject(title);
        //邮件内容,前内容,后格式
        message.setContent(content, \"text/html;charset=UTF-8\");
        //5.发送邮件
        transport.sendMessage(message, message.getAllRecipients());
        //6.关闭连接
        transport.close();
    }
}

 

 

(本文仅作个人学习记录用,如有纰漏敬请指正)


来源:https://www.cnblogs.com/jmsstudy/p/16829592.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Java实现邮件发送

相关推荐

  • 暂无文章