SpringBoot发现邮件代码

本文档介绍了如何使用Spring Boot进行邮件发送,包括发送简单邮件、复杂邮件以及自定义发送方法,涵盖了JavaMailSender接口、MimeMessage、MimeMessageHelper和附件处理等关键知识点。
package com.example;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;

@SpringBootTest
class SpringbootTestApplicationTests {

    @Autowired
    JavaMailSenderImpl mailSender;
    @Test
    void contextLoads() {

        // 一个简单的邮件
        SimpleMailMessage mailMessage = new SimpleMailMessage();

        mailMessage.setSubject("法外狂徒张三");
        mailMessage.setText("daad");

        mailMessage.setTo("24736743@qq.com");
        mailMessage.setFrom("24736743@qq.com");


        mailSender.send(mailMessage);
    }


    @Test
    void contextLoads1() throws MessagingException {

        // 一个复杂的邮件
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        //组装
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);

        // 正文
        helper.setSubject("sasda");
        helper.setText("<p>dasdadad</p>",true);


        // 附件
        helper.addAttachment("1.jpg",new File(""));
        helper.addAttachment("2.jpg",new File(""));

        helper.setTo("dadasdad@aaaa");
        helper.setFrom("dadasdad@aaaa");

        mailSender.send(mimeMessage);

    }

    /**
     *
     * @param html  是否支持html
     * @param subject  上传的名字
     * @param text 上传的文本
     * @param attachmentFilname 附件的图片路径
     * @throws MessagingException 大橘~
     */
    public void sendMail(Boolean html,String subject,String text,String attachmentFilname) throws MessagingException {
        // 一个复杂的邮件
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        //组装
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);

        // 正文
        helper.setSubject(subject);
        helper.setText(text,html);


        // 附件
        helper.addAttachment(attachmentFilname,new File(""));
        helper.addAttachment(attachmentFilname,new File(""));

        helper.setTo("dadasdad@aaaa");
        helper.setFrom("dadasdad@aaaa");

        mailSender.send(mimeMessage);
    }

}
Spring Boot中发送电子邮件通常涉及到配置一个邮箱服务和使用JavaMail API。以下是一个简单的示例代码片段: ```java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.JavaMailSenderImpl; @Configuration public class EmailConfig { @Bean public JavaMailSender javaMailSender() { JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); // 邮箱服务器配置 mailSender.setHost("smtp.example.com"); mailSender.setUsername("your-email@example.com"); // 发件人邮箱地址 mailSender.setPassword("your-password"); // 发件人邮箱密码 // 如果使用SSL/TLS加密 mailSender.setPort(587); // 或者465如果使用SSL mailSender.setProtocol("smtps"); Properties props = mailSender.getJavaMailProperties(); props.put("mail.transport.protocol", "smtps"); // 设置传输协议 props.put("mail.smtp.auth", true); // 开启SMTP认证 props.put("mail.smtp.starttls.enable", true); // 启用STARTTLS return mailSender; } } // 使用邮件发送服务的类 @Service public class MailService { private final JavaMailSender javaMailSender; @Autowired public MailService(JavaMailSender javaMailSender) { this.javaMailSender = javaMailSender; } public void sendEmail(String to, String subject, String body) { SimpleMailMessage message = new SimpleMailMessage(); message.setTo(to); message.setSubject(subject); message.setText(body); try { javaMailSender.send(message); System.out.println("Email sent successfully."); } catch (Exception e) { System.out.println("Failed to send email: " + e.getMessage()); } } } ``` 在这个例子中,`sendEmail`方法可以用于实际发送邮件。你只需要创建一个`MailService`的实例,并调用它的`sendEmail`方法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值