使用 Spring API 实现邮件发送 (乐字节java,乐字节架构)

详细Spring如何进行邮件发送
本文由乐字节Java架构课程独家赞助播出

环境准备

创建 Maven 项目,在 pom.xml 文件中添加依赖



    org.springframework
    spring-context
    5.2.4.RELEASE



    org.springframework
    spring-context-support
    5.2.4.RELEASE


    org.springframework
    spring-test
    5.2.4.RELEASE
    test



    com.sun.mail
    javax.mail
    1.6.2

配置邮件发送 bean

在 spring.xml 配置文件中设置邮件发送对应的bean标签




    
    

    
    
        
        
        
        
        
    

    
    
        
        
    


定义接口与实现类

定义接口

package com.xxxx.springMail;

/**
 * 定义接口
 */
public interface OrderManager {
    void placeOrder();
}

定义实现类

package com.xxxx.springMail;

import org.springframework.mail.MailException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;

@Service
public class SimpleOrderManager implements OrderManager {

    @Resource
    private JavaMailSenderImpl mailSender;
    @Resource
    private SimpleMailMessage templateMessage;

    @Override
    public void placeOrder() {
        // 获取邮件对象
        SimpleMailMessage msg = new SimpleMailMessage(this.templateMessage);
        // 设置邮件收件人的邮箱地址
        msg.setTo("收件人的邮箱地址");
        // 设置邮件内容
        msg.setText("Hello Spring Mail");
        try{
            // 发送邮件
            this.mailSender.send(msg);
        } catch (MailException ex) {
            System.err.println(ex.getMessage());
        }
    }
}

邮件发送测试

/**
  *  发送邮件
  * @param args
  */
public static void main(String[] args) {
    ApplicationContext ac=new ClassPathXmlApplicationContext("spring.xml");
    SimpleOrderManager simpleOrderManager = 
        (SimpleOrderManager) ac.getBean("simpleOrderManager");
    simpleOrderManager.placeOrder();
}

发送附件

/**
  *  发送包含附件的邮件
  * @param args
  * @throws MessagingException
  */
public static void main(String[] args) throws MessagingException {
    ApplicationContext ac = new ClassPathXmlApplicationContext("spring.xml");
    JavaMailSender mailSender= (JavaMailSender) ac.getBean("mailSender");
    MimeMessage message= mailSender.createMimeMessage();
    message.setSubject("spring_mail"); // 邮件主题
    // 创建带有附件的消息帮组类
    MimeMessageHelper helper = new MimeMessageHelper(message,true,"utf-8");
    helper.setTo(new InternetAddress("收件人的邮箱地址"));//设置接收人
    helper.setText("Thank you for ordering!"); // 邮件内容
    helper.setFrom("发件人的邮箱地址"); // 发件人
    // 设置附件
    File file = new File("C:\\work\\邮件附件.txt");
    // 添加附件
    helper.addAttachment(file.getName(), file);
    // 发送邮件
    mailSender.send(message);
}

你可能感兴趣的:(spring,javamail,大数据)