java邮件发送

资料参考:发送简单邮件(Send simple email) - JavaMail API 中文教程 - 开发文档 - 文江博客

核心类及描述信息:

描述
javax.mail.SessionAPI的关键类。 多线程对象表示连接工厂。
javax.mail.Message一个为电子邮件建模的抽象类。 子类提供实际的实现。
javax.mail.Address一个抽象类,用于对消息中的地址(来自和到地址)进行建模。 子类提供特定的实现。
javax.mail.Authenticator用于保护邮件服务器上的邮件资源的抽象类。
javax.mail.Transport一种抽象类,用于模拟用于发送电子邮件的邮件传输机制。
javax.mail.Store一种抽象类,用于为消息存储及其访问协议建模,用于存储和检索消息。 商店分为文件夹。
javax.mail.Folder表示邮件消息文件夹的抽象类。 它可以包含子文件夹。
javax.mail.internet。 MimeMessageMessage是一个抽象类,因此必须使用子类; 在大多数情况下,您将使用MimeMessage。 MimeMessage是一种了解MIME类型和标头的电子邮件。
javax.mail.internet。 InternetAddress此类表示使用RFC822语法的Internet电子邮件地址。 典型的地址语法格式为user@host.domainPersonal Name <user@host.domain> 。

开发流程:

1、创建配置,spring容器中注入java.mail.Session类:

package com.jettech.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import java.util.Properties;

@Configuration
public class EmailConfig {
    //邮箱服务器
    @Value("${mail.host}")
    private String host;
    //邮件发送发有限地址
    @Value("${mail.from}")
    private String username;

    @Bean
    public Session session(){
        Properties props = new Properties();
        props.put("mail.smtp.auth", "false");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", host);
        Authenticator authenticator = new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, null);
            }
        };
        return Session.getDefaultInstance(props,authenticator);
    }
}

2、创建并发送消息

public void sendMail(String appointUser, JettechUserDTO handleUser){
    
      try {
         String to = "";//接收方邮箱地址
         String from = "";//发送方邮箱地址
         MimeMessage message = new MimeMessage(session);
         MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "UTF-8");
         messageHelper.setFrom(new InternetAddress(from, "IMQA", "UTF-8"));
         messageHelper.setTo(new String[]{to});
         messageHelper.setSubject("缺陷处理");
         String conent = "";
         String defecturl = "";

         messageHelper.setText("<div style=\"color:black\">您有一个缺陷待处理。</div>" +
               "<div><p>"+transferRecord.toString()+",请前往<a href=\""+defecturl+"\">测管平台</a>处理!</p></div>", true);

//       FileSystemResource fileSystemResource = new FileSystemResource(new File(""));
         // 设置附件
//       messageHelper.addAttachment("11.xlsx", fileSystemResource);
//       FileSystemResource image = new FileSystemResource(new File(""));
         // 设置内联图片
//       messageHelper.addInline("22.jpg", image);
         Transport.send(message);
         // 插入邮件记录
      } catch (Exception e) {
         // 插入异常邮件记录
         // 发送异常邮件
         logger.error(e.getMessage());
      }
   }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值