zoukankan      html  css  js  c++  java
  • Spring mail 邮件服务及其参数配置

    一个Web 系统通常会少不了邮件服务的,比如用于注册,密码找回,订单提醒等应用场景。spring 封装了一个简单易用的关于邮件发送的工具类JavaMailSenderImpl 。

    系统要提供邮件服务,那得需要一个邮件服务器,用于发送和回复邮件。如果有条件专门弄一个邮件服务器那固然是最好的,但是也可以简单的使用163或者qq提供的邮件服务。

    例如注册了一个example@163.com的邮箱账号,在网站上选设置 然后勾选 POP3/SMTP服务,然后保存。点击左侧导航栏中的 客户端授权密码 ,开启客户端授权码,重置授权码,你会收到一个授权码的短信,这个授权码就是用来第三方客户端登录的密码
    要做四件事
    1:设置邮件服务器有公司的就使用公司的,没有公司的就使用163或者qq提供的邮件服务
    2:引入需要的夹包
    3:配置需要的配置文件
    4:写测试类测试

    :设置邮件服务器有公司的就使用公司的,没有公司的就使用163或者qq提供的邮件服务 ,这里用网易举例


    二。首先需要的夹包
    spring-context-support-3.2.3.RELEASE.jar
    mail-1.4.7.jar
    三。需要的配置文件---在applicationContext.xml中配置
     <!-- 使用Spring封装的Mail Sender发送邮件 -->
        <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
            <property name="host" value="smtp.163.com"/> <!-- 发送方的服务器   网易提供的,这里是定死的 -->
           <!-- <property name="host" value="smtp.qq.com"/> --><!-- 发送方的服务器   腾讯qq提供的 -->
             <property name="port"><!-- 发送方服务器对应的端口,默认的25 -->
                <value>25</value>
            </property>
            <property name="username" value="136....3261@163.com"/><!-- 发送方服务器对应的邮箱账号 ,你自己的网易邮箱,发邮件就是从这个设定的邮箱向外发送-->
            <property name="password" value="------------"/><!-- 发送方服务器对应的邮箱密码,勾选 POP3/SMTP服务后的授权码 -->
            <property name="javaMailProperties">
                  <props>
                    <prop key="mail.smtp.auth">true</prop><!-- 是否验证密码 ,true代表验证-->
                  </props>
            </property>
        </bean>
    四。写方法测试
    首先是service
    ====================开始=============================================
    @Service
    public class MaileServiceimpl {
        @Autowired
        private JavaMailSender mailSender;
        /*
         * 单一发送
         * mailTo:收件人的邮箱
         * subject:邮件表头信息
         * mailBody:邮件内容
         * isHtml:true标识设定html格式
         */
        public void sendMail(String mailTo, String subject, String mailBody,boolean isHtml) {
            MimeMessage mailMessage = mailSender.createMimeMessage(); 
            MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, "utf-8");
               
                try {
                    messageHelper.setTo(mailTo);
                    messageHelper.setSubject(subject);
                    messageHelper.setText(mailBody, isHtml);
                    messageHelper.setFrom("13671183261@163.com");//发件邮箱,要和配置文件中的一样
                    mailSender.send(mailMessage);
                } catch (MessagingException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
        }
        /**
         * 批量发送
         */
        public void sendMailToMany(String[] mailTo, String subject, String mailBody,boolean isHtml) {
           
            MimeMessage mailMessage = mailSender.createMimeMessage(); 
            MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, "utf-8");
            try {
                messageHelper.setTo(mailTo);
                messageHelper.setSubject(subject);
                messageHelper.setText(mailBody, isHtml);
                messageHelper.setFrom("1228870598@qq.com");//发件邮箱要和配置文件中的一样
                mailSender.send(mailMessage);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 
          
        }
    }
    ====================结束===================
    然后是controller
    ====================开始===================
        @RequestMapping(value="/sendemail",
            produces="application/json;charset=utf-8")
        @ResponseBody
        public String sendEmail(){
            //收件人邮箱
            String mailTo="1228870598@qq.com";
            //邮件表头信息
            String subject = "测试发送邮件";
            //邮件内容
            String mailBody = "蓝星好久不见!";
            //true
            boolean isHtml = true;
            maileService.sendMail(mailTo, subject, mailBody, isHtml);
            System.out.println("发送成功!!!!!!!!");
            return "true";
        }
    ====================结束==================
    本框架使用的是spring+mybatis+springMVC
    只是发送普通的文本邮件
    http://docs.spring.io/spring/docs/2.0.x/javadoc-api/org/springframework/mail/javamail/MimeMessageHelper.html#setSubject(java.lang.String)

  • 相关阅读:
    php笔记小结
    php知识总结(二)
    php知识点总结(一)
    js冒泡排序及计算其运行时间
    空中飘动的云动画
    网站建设教程:WordPress如何在虚拟主机上安装
    网站建设教程之PageAdmin建站系统的安装
    免费CMS建站系统哪个比较好?如何选择?
    网站建设之自助建站系统的选择?
    企业外贸网站制作的要求及注意事项
  • 原文地址:https://www.cnblogs.com/xueershewang/p/6781924.html
Copyright © 2011-2022 走看看