MyMailUtil springboot发送邮件 JavaMailSender

import cn.hutool.core.util.ObjectUtil;
import com.wjj.application.dto.email.AttachmentDTO;
import com.wjj.application.dto.email.SendMailDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.UrlResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;

@Slf4j
@Component
public class MyMailUtil {

    @Value("${spring.mail.username}")
    private String MAIL_SENDER; //邮件发送者

    @Autowired
    private JavaMailSender javaMailSender;//

    /**
     * 发送文本邮件
     *
     * @param sendMailDTO
     */
    public void sendSimpleMail(SendMailDTO sendMailDTO) {
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        mailMessage.setFrom(MAIL_SENDER);//发送者
        mailMessage.setTo(sendMailDTO.getRecipient());//接收者
        mailMessage.setSubject(sendMailDTO.getSubject());//邮件标题
        mailMessage.setText(sendMailDTO.getContent());//邮件内容
        if (ObjectUtil.isNotEmpty(sendMailDTO.getCcList())) {
            mailMessage.setCc(sendMailDTO.getCcList().toArray(new String[0]));
        }
        javaMailSender.send(mailMessage);//发送邮箱
    }

    /**
     *
     *   发送HTML模板
     *
     *
     *   发送带有附近的邮件
     *   helper.addAttachment("风景.jpg",new File("E:\\elegant\\src\\main\\resources\\pic\\风景.jpg"));
     *
     *   发送内容中带有图片的邮件
     *   helper.setText("<p>hello 大家好,这是一封测试邮件,里面包含了图片</p><p>图片A:</p><img src='cid:p01'/>",true);
     *   helper.addInline("p01",new FileSystemResource(new File("E:\\elegant\\src\\main\\resources\\pic\\风景.jpg")));
     *
     *
     * @param sendMailDTO
     */
    public void sendMimeMail(SendMailDTO sendMailDTO) throws MalformedURLException, MessagingException, UnsupportedEncodingException {
        MimeMessage mimeMailMessage = null;
        mimeMailMessage = javaMailSender.createMimeMessage();
        //true 表示需要创建一个multipart message
        MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMailMessage, true);
        mimeMessageHelper.setFrom(MAIL_SENDER,sendMailDTO.getFrom());
        mimeMessageHelper.setTo(sendMailDTO.getRecipient());//接受者
        mimeMessageHelper.setSubject(sendMailDTO.getSubject());//邮件标题
        //这里的 true,你加了的话,它发送你HTML页面里面的内容
        //不加的话,默认是 false,它发送整个HTML页面代码
        mimeMessageHelper.setText(sendMailDTO.getContent(), sendMailDTO.getIsHtml());
        if (ObjectUtil.isNotEmpty(sendMailDTO.getCcList())) {
            mimeMessageHelper.setCc(sendMailDTO.getCcList().toArray(new String[0]));
        }
        if (ObjectUtil.isNotEmpty(sendMailDTO.getAttachmentDTOList())) {
            for (AttachmentDTO attachmentDTO : sendMailDTO.getAttachmentDTOList()) {
                URL url = new URL(attachmentDTO.getAttachmentUrl());
                UrlResource urlResource = new UrlResource(url);
                mimeMessageHelper.addAttachment(attachmentDTO.getAttachmentName(), urlResource);
            }
        }
        //邮件抄送
        javaMailSender.send(mimeMailMessage);//发送邮件
    }
}

        <!-- email依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值