• Spring邮件服务:Maven + Spring SMTP Mail (可发送附件)


    1  spring-smtp-mail.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
        <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
            <!-- 服务器 -->
            <property name="host" value="smtp.163.com" />
            <!-- 端口号 -->
            <property name="port" value="25" />
            <!-- 用户名 -->
            <property name="username" value="*******@163.com" />
            <!--  密码   -->
            <property name="password" value="*****" />
            <!-- SMTP服务器验证 -->
            <property name="javaMailProperties">
                <props>
                    <!-- 验证身份 -->
                    <prop key="mail.smtp.auth">true</prop>
                </props>
            </property>
        </bean>
        <!--
           目前我用过的EMAIL账号都是网易的,下面列出网易的SMTP服务器名和端口号:
            网易邮箱          SMTP服务器     SMTP端口     POP3服务器       POP3端口
            @126.com     smtp.126.com      25          pop3.126.com      110
            @163.com     smtp.163.com      25          pop3.163.com      110
            @yeah.net    smtp.yeah.net      25          pop3.yeah.net     110
        -->
    <bean id="simpleMailMessage" class="org.springframework.mail.SimpleMailMessage">
    <!-- 发件人email -->
    <property name="from" value="15201904315@163.com" />
    <!--
    收件人email
    <property name="to" value="to@yeah.net" />
    email主题(标题)
    <property name="subject" value="Subject" />
    -->
    <!--email主题内容-->
    <property name="text">
    <value>
    <![CDATA[
    Dear %s,
    Mail Content : %s
    ]]>
    </value>
    </property>
    </bean>
    <bean id="simpleMail" class="com.richard.config.mailConfig"> <property name="mailSender" ref="mailSender" /> <property name="simpleMailMessage" ref="simpleMailMessage" /> </bean> </beans>

      2  mailConfig 类

    public class mailConfig {
    private MailSender mailSender;
    private SimpleMailMessage simpleMailMessage;

    private JavaMailSender javaMailSender;
    /**
    * @方法名: sendMail
    * @参数名:@param subject 邮件主题
    * @参数名:@param content 邮件主题内容
    * @参数名:@param to 收件人Email地址
    * @描述语: 发送邮件
    */
    public void sendMail(String subject, String content, String to) {
    simpleMailMessage.setSubject(subject); //设置邮件主题
    simpleMailMessage.setTo(to); //设定收件人
    simpleMailMessage.setText(content); //设置邮件主题内容

    mailSender.send(simpleMailMessage); //发送邮件
    }
    public void sendMail_File(String subject, String mail_to,String dear, String content,String filepath){
    MimeMessage mimeMessage=javaMailSender.createMimeMessage();
    try {
    MimeMessageHelper mimeMessageHelper=new MimeMessageHelper(mimeMessage,true);
    mimeMessageHelper.setFrom(simpleMailMessage.getFrom());
    mimeMessageHelper.setTo(mail_to);
    mimeMessageHelper.setSubject(subject);
    mimeMessageHelper.setText(String.format(
    simpleMailMessage.getText(), dear, content));
    FileSystemResource file = new FileSystemResource(filepath);
    mimeMessageHelper.addAttachment(file.getFilename(), file);

    }catch (Exception ex){
    throw new MailParseException(ex);
    }
    javaMailSender.send(mimeMessage);
    }

    //Spring 依赖注入
    public void setSimpleMailMessage(SimpleMailMessage simpleMailMessage) {
    this.simpleMailMessage = simpleMailMessage;
    }
    //Spring 依赖注入
    public void setMailSender(MailSender mailSender) {
    this.mailSender = mailSender;
    }
    //Spring 依赖注入
    public void setMailSender(JavaMailSender javaMailSender) {
    this.javaMailSender = javaMailSender;
    }
    }

      3 test 类

     @Test
        public void sendEmail(){
            ApplicationContext context = new ClassPathXmlApplicationContext("spring-smtp-mail.xml");
            mailConfig mail = (mailConfig)context.getBean("simpleMail");
            //mail.sendMail("Spring SMTP Mail Subject", "Spring SMTP Mail Text", "2391492524@qq.com");
            //mail.sendMail("标题", "内容", "收件人邮箱");
            mail.sendMail_File("test file","2391492524@qq.com","MouMou","test file","D:\1.jpg");
        }
    

      

  • 相关阅读:
    【JS】逻辑处理
    XCODE
    mysql基础之-mysql锁和事务(七)
    mysql数据库-mysql数据定义语言DDL (Data Definition Language)归类(六)
    mysql基础-数据库表简单查询-记录(五)
    mysql基础-数据库表的管理-记录(四)
    mysql基础-数据类型和sql模式-学习之(三)
    mysql基础-数据库初始化操作必要步骤和客户端工具使用-记录(二)
    mysql基础-新版5.7.10源码安装-记录(一)
    LVS概述
  • 原文地址:https://www.cnblogs.com/yachao1120/p/11784358.html
Copyright © 2020-2023  润新知