java利用QQ邮箱发送邮件

标签: java  java

大家好,我是傻明蚕豆,今天的内容是发邮件。

只要你有QQ邮箱,即可免费发送邮件,首先打开QQ邮箱:
在这里插入图片描述
点击设置,然后点击账户,找到如下图所示:
在这里插入图片描述
开启POP3/SMTP服务,你即可得到一个密码。
接下来开始写代码啦!
先引入maven依赖:

<!-- jodd-mail发送接收邮件 -->
        <dependency>
            <groupId>org.jodd</groupId>
            <artifactId>jodd-mail</artifactId>
            <version>6.0.3</version>
        </dependency>
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>jakarta.mail</artifactId>
            <version>1.6.5</version>
        </dependency>
        <dependency>
            <groupId>jakarta.mail</groupId>
            <artifactId>jakarta.mail-api</artifactId>
            <version>1.6.5</version>
        </dependency>

发送邮件代码:

import jodd.mail.*;

import java.io.File;

public class TestSendEmail {

    private static final String SMTPSERVER_HOST="smtp.qq.com";
    private static final String SMTPSERVER_AUTH_NAME="[email protected]";
    private static final String SMTPSERVER_AUTH_PASSWORD="你开通POP3/SMTP服务得到的密码";


    public static void main(String[] args) {
        sendEmail();
    }

    private static void sendEmail(){
        SendMailSession session =null;
        String[] toEmails={"[email protected]"};//可以有多个收件邮箱
        try {
            SmtpServer smtpServer = MailServer.create()
                    .ssl(true)//Sending using SSL
                    .host(SMTPSERVER_HOST)//邮件服务host,QQ的是:smtp.qq.com
                    .port(465)
                    .auth(SMTPSERVER_AUTH_NAME, SMTPSERVER_AUTH_PASSWORD)//开启POP3/SMTP服务,获取密码
                    .buildSmtpMailServer();
            Email email = Email.create()
                    .from(SMTPSERVER_AUTH_NAME)//发件邮箱
                    .to(toEmails)//收件邮箱
                    .subject("test")//邮件标题
                    .textMessage("Hello this is a test email!")//邮件内容
                    .htmlMessage("<html><META http-equiv=Content-Type content=\"text/html; " +
                                    "charset=utf-8\"><body><h1>Hey!</h1><img src='cid:small.png'>" +
                                    "<h2>Hay!</h2></body></html>")//html内容会覆盖上面的textMessage内容
                    .embeddedAttachment(EmailAttachment.with().content(new File("F:/images/small.png")))//使用ContentID集创建的所有附件都将被视为内联附件。然而,它们也需要嵌入到特定的信息中,形成电子邮件中所谓的相关部分。
                    .attachment(EmailAttachment.with().content(new File("F:/images/small.png")));//邮件附件
            session = smtpServer.createSession();
            session.open();
            session.sendMail(email);
            System.out.println("success");
            session.close();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if(null != session) {
                session.close();
            }
        }
    }

}

就这么一点代码,你就可以愉快的发送邮件了。
谢谢观看!

版权声明:本文为weixin_44668634原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44668634/article/details/109428976