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");
    }
            
 
作者:RichardCui            
 
出处:https://www.cnblogs.com/yachao1120/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。该文章也同时发布在我的独立博客中-RichardCuiBlog。    
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号