在Sprint boot上集成一个简单的发送邮件的功能

在Sprint boot上集成一个简单的发送邮件的功能

pom.xml 加入以下配置

 <dependencies>
    <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
		</dependency>
	</dependencies>

application.yml文件

spring:
  #邮箱
  mail:
    protocol: smtps
    # 配置 SMTP 服务器地址
    # 我这里是阿里邮箱
    host: smtp.qiye.aliyun.com
    # 发送者邮箱
    username: tangyong@tangyongyong.cn
    # 配置密码
    #这里是授权码,阿里邮箱直接用密码即可
    password: 
    # 端口号465或587
    #port: 465
    # 默认的邮件编码为UTF-8
    default-encoding: UTF-8
    # 配置SSL 加密工厂
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
          socketFactory:
            port: 465
          port: 465
          socketFactoryClass: javax.net.ssl.SSLSocketFactory
        #表示开启 DEBUG 模式,这样,邮件发送过程的日志会在控制台打印出来,方便排查错误
        debug: true

定义服务类

@Service
public class SendEmail {

    //定义邮件发送器
    @Autowired
    private JavaMailSender mailSender;

    //定义邮件发送者
    //private String from;

    /**
     * @param to 接收者
     * @param subject 主题
     * @param content 内容
     */
    @Test
    public void send(String to, String subject, String content) {
        //创建一个简单文本邮件的对象
        SimpleMailMessage message = new SimpleMailMessage();
        //赋予相应的内容
        message.setTo(to);
        message.setSubject(subject);
        message.setText(content);
        // 需要与配置文件发件人的值相同
        message.setFrom(from);
        message.setSentDate(new Date());
        //将邮件对象赋予邮件发送器
        mailSender.send(message);
    }
}

### 使用Java发送带指定字体颜色的邮件 为了实现在Java发送带有指定字体颜色的电子邮件功能,需要利用HTML格式化邮件正文。通过设置HTML标签中的`<font>`元素及其属性,可以控制邮件正文中文字的颜色。 在构建邮件内容时,应创建包含适当HTML标记的字符串作为消息主体的一部分。下面是一个简单的例子展示如何使用JavaMail API来完成这一操作: ```java import javax.mail.*; import javax.mail.internet.*; import java.util.Properties; public class SendColoredEmail { public static void send(String host, String port, final String userName, final String password, String toAddress, String subject, String messageBody) throws AddressException, MessagingException { Properties properties = new Properties(); properties.put("mail.smtp.host", host); properties.put("mail.smtp.port", port); properties.put("mail.smtp.auth", "true"); properties.put("mail.smtp.starttls.enable", "true"); Authenticator auth = new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(userName, password); } }; Session session = Session.getInstance(properties, auth); MimeMessage msg = new MimeMessage(session); InternetAddress addressTo = new InternetAddress(toAddress); msg.setRecipient(MimeMessage.RecipientType.TO, addressTo); msg.setSubject(subject); // 设置HTML格式的消息体,并应用特定的文字样式 msg.setContent("<html><body><p style='color:red;'>This is a red text.</p></body></html>", "text/html; charset=utf-8"); Transport.send(msg); } } ``` 上述代码片段展示了如何配置SMTP服务器参数以及认证信息,并设置了邮件的主题和收件人的地址。特别注意的是,在调用`setContent()`方法时传递了一个包含HTML标签的字符串,其中包含了用于设定文本颜色样式的CSS内联样式[^2]。 对于Spring Boot项目而言,则可以通过引入`sprint-boot-starter-mail`依赖项简化此过程,并借助其内置的支持轻松集成邮件服务[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值