使用spring的JavaMailSender发送邮件

使用spring的JavaMailSender发送邮件

说明

底层依赖 javamail 实现

pom.xml 依赖项

            <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
                <version>1.4.7</version>
            </dependency>

spring.xml Spring配置文件

<!-- SMTP - Simple Mail Transfer Protocol / TCP 25 -->
    <!-- POP3 - Post Office Protocol version 3 / TCP 110 -->
    <bean class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <!-- 设置SMTP服务器 -->
        <property name="host" value="smtp.126.com" />
        <property name="username" value="from-username" />
        <!-- 现在大多数邮件服务器都不是用密码作为授权码而是单独申请授权码进行身份验证 -->
        <property name="password" value="mima" />
        <!--
        <property name="javaMailProperties">
            <props>
                <prop key="timeout">30000</prop>
            </props>
        </property>
        -->
    </bean>

示例代码(可以添加附件)

package com.qfedu.mooc1706.service.impl;

import com.lyx.mooc.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;

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

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private JavaMailSender mailSender;

    // 企业邮件通常有固定的header或footer如果要生成这些内容那么有两种推荐的方式
    // 方式一:用Freemarker或Velocity模板引擎来生成邮件的正文内容
    // 方式二:用建造模式来建造邮件的header、body和footer
    @Override
    public boolean register() {
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        try {
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "utf-8");
            helper.setFrom("[email protected]");
            helper.setTo("[email protected]");
            helper.setSubject("注册激活码");
            helper.setText("hello,world");
            // helper.addAttachment("gay.jpg", new File("gay.jpg"));
            mailSender.send(mimeMessage);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return true;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章