Jodd Email 发送邮件

本文介绍如何使用Jodd库版本3.7通过Java发送包含HTML内容和图片附件的邮件,并展示了完整的代码示例。

Jodd版本:

    <dependency>
            <groupId>org.jodd</groupId>
            <artifactId>jodd-mail</artifactId>
            <version>3.7</version>
        </dependency>

发送一封简单的邮件:

package jodd.emial;

import java.io.File;
import java.io.IOException;

import jodd.io.FileUtil;
import jodd.mail.Email;
import jodd.mail.EmailAttachment;
import jodd.mail.EmailMessage;
import jodd.mail.SendMailSession;
import jodd.mail.SmtpSslServer;
import jodd.mail.att.ByteArrayAttachment;
import jodd.mail.att.FileAttachment;
import jodd.util.MimeTypes;

public class JoddDemo {
    public static void main(String[] args) {
        try {
            sendEmail();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void sendEmail() throws IOException {
        // 创建邮件
        Email email = Email.create();
        // 设置邮件发送人
        email.from("su***g@qq.com");
        // 设置收件人
        email.to("64***76@qq.com");
        // 设置邮件主题
        email.subject("测试邮件");
        // 设置邮件内容,text格式
        @SuppressWarnings("unused")
        EmailMessage textMessage = new EmailMessage("Hello", MimeTypes.MIME_TEXT_PLAIN);
        // 设置邮件内容,html格式
        EmailMessage htmlMessage = new EmailMessage("<html><META http-equiv=Content-Type content=\"text/html; "
                + "charset=utf-8\"><body><h1>Hey!</h1><img src='cid:dongman1.jpg'>" + "<h2>Hay!</h2></body></html>",
                MimeTypes.MIME_TEXT_HTML);
        // 将邮件内容添加到邮件中
        email.addMessage(htmlMessage);

        // 创建字节数组附件
        EmailAttachment emailAttachment = new ByteArrayAttachment(
                FileUtil.readBytes(JoddDemo.class.getResource("/image/dongman1.jpg").getPath()), // 将图片读取存到字节数组中
                "image/jpg", // 附件文件类型
                "dongman1.jpg", // 附件名字
                "dongman1.jpg" );// 对应前面创建的cid名字,使用内联方式嵌入
        // 因为是内联方式,所以必须添加到内容中
        emailAttachment.setEmbeddedMessage(htmlMessage);

        EmailAttachment emailAttachment2 = new FileAttachment(
                new File(JoddDemo.class.getResource("/image/dongman2.jpg").getPath()), "dongman2.png", "dongman2.png");

        // 将附件添加到邮件中
        email.attach(emailAttachment);
        email.attach(emailAttachment2);

        // 发送邮件
        SmtpSslServer smtpServer = SmtpSslServer.create("smtp.exmail.qq.com").authenticateWith("sug***ng@qq.com",
                "Ad***55");
        // smtpServer.timeout(10);
        // smtpServer.properties(properties);
        SendMailSession session = smtpServer.createSession();
        session.open();
        session.sendMail(email);
        session.close();
    }

}

 

转载于:https://www.cnblogs.com/a591378955/p/8125693.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值