基于smm框架下的邮件发送demo

基于smm框架下的邮件发送demo](这里写自定义目录标题)

这里以qq邮箱为例 其他邮箱操作基本一样
在这里插入图片描述
点击设置 账户
基于smm框架下的邮件发送demo_第1张图片
导入依赖 关于spring的依赖自行删减

 
    
      com.sun.mail
      javax.mail
      1.6.1
    

    
    
    
      org.springframework
      spring-context
      4.3.22.RELEASE
    

    
    
      org.springframework
      spring-context-support
      4.3.4.RELEASE
    

    
      org.springframework
      spring-webmvc
      4.3.4.RELEASE
    

    
    
      org.springframework
      spring-tx
      4.3.13.RELEASE
    
    
      junit
      junit
      4.12
    

工程目录结构
基于smm框架下的邮件发送demo_第2张图片
设置配置文件 mail.properties

#服务器主机名 smtp.xx.com   根据自己邮箱的使用自行设置  
mail.smtp.host=smtp.qq.com
#自己的邮箱
mail.smtp.username=********@qq.com
#密码/客户端授权码   这里的授权码就是刚才在邮箱中生成的
mail.smtp.password=********        
#编码字符
mail.smtp.defaultEncoding=utf-8
#是否进行用户名密码校验
mail.smtp.auth=true
#设置超时时间
mail.smtp.timeout=20000

spring-.xml 有些内容自行删减 这是我copy过来的*
spring-core.xml





    
    


    
    
        
        
        
        
        
            
                ${mail.smtp.auth}
                ${mail.smtp.timeout}
            
        
    

    
        
    


spring-mvc.xml



    
   
    
    
        
    

    
    

    


web.xml




  
  
    contextConfigLocation
    classpath:spring-core.xml
  
  
    org.springframework.web.context.ContextLoaderListener
  

  
  
    dispatherServlet
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      /WEB-INF/spring-mvc.xml
    
    1
  
  
    dispatherServlet
    /
  

  
  

    CharacterEncodingFilter

    org.springframework.web.filter.CharacterEncodingFilter

    

      encoding

      utf-8

    

  

  

    CharacterEncodingFilter

    /*

  


SenEmailController

package com.zch.mail.web.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.mail.MessagingException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.io.File;
import java.io.IOException;
import java.util.Properties;

/**
 * @Description: 发送邮件
 * @Author: 张楚涵
 * @Date: 2019/8/14 0014 15:58
 * @version:1.0.0
 */

@RestController
public class SenEmailController {

    @Autowired
    private JavaMailSender javaMailSender;//在spring中配置的邮件发送的bean



    @RequestMapping(value = "/send",method = RequestMethod.GET,produces = "text/html; charset=utf-8")
    public Object sendMail03(){
        MimeMessage mMessage=javaMailSender.createMimeMessage();//创建邮件对象
        MimeMessageHelper mMessageHelper;
        Properties prop = new Properties();
        String from;
        try {
            //从配置文件中拿到发件人邮箱地址
            prop.load(this.getClass().getClassLoader().getResourceAsStream("mail.properties"));   //根据自己的目录设置
            from = prop.get("mail.smtp.username")+"";
            mMessageHelper=new MimeMessageHelper(mMessage,true);
          //  mMessageHelper.setFrom(from);//发件人邮箱
            mMessageHelper.setFrom(new InternetAddress(from, "###", "UTF-8"));    // 第二个参数是你想发送邮件时想用的名字
            mMessageHelper.setTo("*******@qq.com");//收件人邮箱
            mMessageHelper.setSubject("******");//邮件的主题
         
            mMessageHelper.setSubject("Spring的邮件发送");//邮件的主题
            mMessageHelper.setText("

这是使用spring的邮件功能发送的一封邮件


" + "打开我的博客主页
" + "",true);//邮件的文本内容,true表示文本以html格式打开 /* File file=new File("F:/img/mr.png");//在邮件中添加一张图片 FileSystemResource resource=new FileSystemResource(file); mMessageHelper.addInline("fengye", resource);//这里指定一个id,在上面引用 mMessageHelper.addAttachment("mr.png", resource);//在邮件中添加一个附件*/ javaMailSender.send(mMessage);//发送邮件 } catch (MessagingException e) { e.printStackTrace(); return "发送失败"; } catch (IOException e) { e.printStackTrace(); } return "发送成功"; } }

**

测试

**
基于smm框架下的邮件发送demo_第3张图片
基于smm框架下的邮件发送demo_第4张图片

这只是一个简单的demo,但可以应用到很多地方,细节地方自行修改

你可能感兴趣的:(程序)