中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

SpringMVC 郵件發(fā)送配置及代碼

2018-07-20    來源:open-open

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬Linux鏡像隨意使用

首先是spring中的配置:(里面使用了FreeMarker模板引擎)

<!--郵件發(fā)送實(shí)現(xiàn)類-->
    <bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="smtp.qq.com"/>
        <property name="port" value="25"/>
        <property name="username" value="你的郵箱"/>
        <property name="password" value="你的郵箱密碼"/>
        <property name="javaMailProperties">
            <props >
                <prop key="mail.smtp.auth">true</prop>
            </props>
        </property>
    </bean>
    <bean id="simpleMailMessage" class="org.springframework.mail.SimpleMailMessage">
        <property name="from" value="發(fā)件人" />
        <property name="subject" value="郵件主題" />
        <!--
        <property name="text" value="郵件內(nèi)容" />
        -->
    </bean>
 <!--線程池異步發(fā)送郵件-->
    <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
        <property name="corePoolSize" value="5" />
        <property name="maxPoolSize" value="10" />
        <property name="queueCapacity" value="25" />
    </bean>
    <!--FreeMarker模板-->
    <bean id="freeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
        <property name="templateLoaderPath" value="classpath:template" />
        <!--<property name="templateLoaderPath" value="/template" />-->
        <property name="freemarkerSettings">
            <props>
                <prop key="locale">zh_CN</prop>
                <prop key="default_encoding">UTF-8</prop>
            </props>
        </property>
    </bean>


發(fā)送郵件的工具類:(采用注解形式注入管理郵件發(fā)送的類)

public class MailSender {
    @Inject
    private JavaMailSender javaMailSender;
    @Inject
    private SimpleMailMessage simpleMailMessage;
    @Inject
    private FreeMarkerConfigurer freeMarkerConfigurer;
    @Inject
    private TaskExecutor taskExecutor;
    /**
     * 構(gòu)建郵件內(nèi)容,發(fā)送郵件。
     * @param user  用戶
     * @param url   鏈接
     */
    public void send(User user, String url,String email) {
        String nickname = user.getNickname();
        String to = email;
        String text = "";
        Map<String, String> map = new HashMap<String, String>(1);
        map.put("url", url);
        try {
//            從FreeMarker模板生成郵件內(nèi)容
            Template template = freeMarkerConfigurer.getConfiguration().getTemplate("register_mail.ftl");
//            模板中用${XXX}站位,map中key為XXX的value會(huì)替換占位符內(nèi)容。
            text = FreeMarkerTemplateUtils.processTemplateIntoString(template, map);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (TemplateException e) {
            e.printStackTrace();
        }
        this.taskExecutor.execute(new SendMailThread(to,null,text));
    }
    //    內(nèi)部線程類,利用線程池異步發(fā)郵件。
    private class SendMailThread implements Runnable {
        private String to;
        private String subject;
        private String content;
        private SendMailThread(String to, String subject, String content) {
            super();
            this.to = to;
            this.subject = subject;
            this.content = content;
        }
        @Override
        public void run() {
            sendMail(to, subject, content);
        }
    }
    /**
     * 發(fā)送郵件
     * @param to        收件人郵箱
     * @param subject   郵件主題
     * @param content   郵件內(nèi)容
     */
    public void sendMail(String to, String subject, String content) {
        try {
            MimeMessage message = javaMailSender.createMimeMessage();
            MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "UTF-8");
            messageHelper.setFrom(simpleMailMessage.getFrom());
            if (subject != null) {
                messageHelper.setSubject(subject);
            } else {
                messageHelper.setSubject(simpleMailMessage.getSubject());
            }
            messageHelper.setTo(to);
            messageHelper.setText(content, true);
           javaMailSender.send(message);
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
}


服務(wù)層調(diào)用:

1、要注入發(fā)送郵件工具類

   

    @Inject
    private MailSender mailSender;


  2、調(diào)用代碼

    

        

        User user = (User)request.getSession().getAttribute("user");
        String url = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+
                request.getContextPath();
        mailSender.send(user,url,email);



標(biāo)簽: 代碼

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:C#抓取網(wǎng)絡(luò)圖片保存到本地

下一篇:原圖片轉(zhuǎn)縮略圖