使用spring 发送邮件 后端代码演示

1.创建一个mail.properties:

mail.host=smtp.163.com  //邮箱格式

mail.username=18518964005@163.com  //发送方的邮箱名字

mail.password=19951112qiu  //邮箱的授权码

mail.from=18518964005@163.com  //发送邮件的邮箱

2.创建一个applicationContext-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"      
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:context="http://www.springframework.org/schema/context"  
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
    
    <description>mail</description>

    <context:property-placeholder location="classpath:mail.properties"/>
    
    <bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage"> 
        <property name="from"> 
            <value>${mail.from}</value> 
        </property> 
        <!-- 查看SimpleMailMessage源码还可以注入标题,内容等 --> 
    </bean> 
    <!-- 申明JavaMailSenderImpl对象 --> 
    <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
        <property name="defaultEncoding" value="UTF-8" /> 
        <property name="host" value="${mail.host}" /> 
        <property name="username" value="${mail.username}" /> 
        <property name="password" value="${mail.password}" /> 
        <property name="javaMailProperties"> 
            <props> 
                <!-- 设置认证开关 --> 
                <prop key="mail.smtp.auth">true</prop> 
                <!-- 启动调试开关 --> 
                <prop key="mail.debug">true</prop> 
                <!-- 设置发送延时 -->
                <prop key="mail.smtp.timeout">0</prop>
            </props> 
        </property> 
    </bean>     
    
</beans>

3.写邮件发送代码(注意:发送邮件这个代码,要写到service层中,它属于业务层)

(基本写法都一样,直接复制过去就可以了,)
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext-mail.xml");
                    JavaMailSender sender = (JavaMailSender) ac.getBean("mailSender");
                    SimpleMailMessage message = (SimpleMailMessage) ac.getBean("mailMessage");
                    message.setTo(entity.getUserinfo().getEmail());//发给谁?
                    message.setCc("18518964005@163.com");//抄送给谁?
                    message.setSubject("员工邮箱验证");//主题
                    message.setText("亲爱的:"+entity.getUserinfo().getName()+",欢迎入职本公司,你的所属部门为:"+entity.getDept().getDeptName()+"你的职位为:"+entity.getUserinfo().getStation()+"你的员工登录密码为:"+SysConstant.DEFAULT_PASS);//邮件内容
                    
                    sender.send(message);

3.1  在邮件中添加图片,附件的版本

 //1.加载applicationContext-mail.xml文件
        ApplicationContext ac = new   ClassPathXmlApplicationContext("classpath:spring/applicationContext-mail.xml");
        //2.获取发送器
        JavaMailSender sender = (JavaMailSender) ac.getBean("mailSender");
        
        //3.通过发送器,创建一个MimeMessage对象
        MimeMessage message = sender.createMimeMessage(); //MimeMessage是支持图片和附件的
        
        
        //4.使用MimeMessageHelper工具类来封装MimeMessage对象
        MimeMessageHelper helper  = new MimeMessageHelper(message,true);
        
        //5.通过helper来设置相关的属性
        helper.setFrom("itheima14@163.com");//发送邮箱
        helper.setTo("3462420264@qq.com");//接收邮箱
        helper.setSubject("测试带图片和邮件的邮件发送");
        
        
        
        //5.设置图片   cid:代表内容的编号    content-id
        helper.setText("<html><head></head><body><h1>hello!!spring image html mail</h1><a href=http://www.baidu.com>baidu</a><img src=cid:image /></body></html>",true);
        
        //要给cid为image的这个编号,上传一个图片到邮件服务器
        helper.addInline("image", new FileSystemResource(new File("E:\\02用例图.png")));
        
        
        //6.带附件   第一个参数:代表这个附件在服务器上的文件名     第二个参数:代表文件资源在本地的位置
        helper.addAttachment("javamail1_4_4.zip", new FileSystemResource(new File("E:\\javamail1_4_4.zip")));
        
        //7.发送
        sender.send(message);

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿邱先森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值