vue结合spring boot使用javax.mail发送邮件,换行空格等问题

时间:2024-04-09 09:08:18
package com.bbg.hrds.resume.service.impl;


import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;


/**
 * @ClassName email
 * @Description TODO
 * @Author
 * @Date 2019/12/25 10:26
 * @Version 1.0.1
 **/

public class MailOperation {
    public String sendMail(String user, String password, String host,
                           String from, String to, String subject, String content)
            throws Exception {
        if (to != null){
            Properties props = System.getProperties();
            props.put("mail.smtp.host", host);
            props.put("mail.smtp.auth", "true");
            MailAuthenticator auth = new MailAuthenticator();
            MailAuthenticator.USERNAME = user;
            MailAuthenticator.PASSWORD = password;
            Session session = Session.getInstance(props, auth);
            session.setDebug(true);
            try {
                MimeMessage message = new MimeMessage(session);
                message.setFrom(new InternetAddress(from));
                if (!to.trim().equals(""))
                    message.addRecipient(Message.RecipientType.TO,
                            new InternetAddress(to.trim()));
                message.setSubject(subject);
                MimeBodyPart mbp1 = new MimeBodyPart(); // 正文

mbp1.setContent(content, "text/html;charset=utf-8");
                Multipart mp = new MimeMultipart(); // 整个邮件:正文+附件
                mp.addBodyPart(mbp1);

                // mp.addBodyPart(mbp2);
                message.setContent(content,"text/html;charset=utf-8");
                message.setSentDate(new Date());
                message.saveChanges();
                Transport trans = session.getTransport("smtp");
                trans.send(message);
                System.out.println(message.toString());
            } catch (Exception e){
                e.printStackTrace();
                return "failure";
            }
            return "success";
        }else{
            return "failure";
        }
    }

    public static void main(String[] args) {

        MailOperation operation = new MailOperation();
        String user = "[email protected]";
        String password = "wo1992";
        String host = "smtp.163.com";
        String from = "[email protected]";
        String to = "[email protected]";// 收件人
        String subject = "测试";
        //邮箱内容
        //StringBuffer sb = new StringBuffer();
        String yzm = "1111";

        /*sb.append("<!DOCTYPE>"+"<div bgcolor='#f1fcfa'   style='border:1px solid #d9f4ee; font-size:14px; line-height:22px; color:#005aa0;padding-left:1px;padding-top:5px;   padding-bottom:5px;'><span style='font-weight:bold;'>温馨提示:</span>"
                + "<div style='width:950px;font-family:arial;'>   欢迎使用NET微活动,您的***为:<br/><h2 style='color:green'>"+yzm+"</h2><br/>本邮件由系统自动发出,请勿回复。<br/>感谢您的使用。<br/>杭州恩意替电子商务有限公司</div>"
                +"</div>");*/

        /*sb.append("<p>尊敬的XXX先生/女士:</p><p>您好!步步高集团正在寻聘招聘主管,该岗位的相关要求与您的工作经验高度匹配,故向您推荐该岗位,岗位具体内容如下:</p><p>岗位职责:</p><p>1、根据现有编制及业务发展需求,协助上级确定招聘目标,汇总岗位需求数目和人员</p><p>需求数目,制定并执行招聘计划;</p><p>2、发布职位需求信息,做好公司形象宣传;</p><p>3、搜集简历,对简历进行处理并组织面试工作;</p><p>4、负责招聘广告的撰写,招聘网站的维护和更新,以及招聘网站的信息沟通。</p><p>任职要求:</p><p>1、人力资源管理或相关专业本科以上学历;</p><p>2、有相关工作经验优先;</p><p>3、熟悉人力资源各模块相关知识;</p><p>4、具有较强的语言表达能力、人际交往能力、应变能力、沟通能力及解决问题的能力,有亲和力,较强的责任感与敬业精神,有原则性。</p><p>如您对该岗位感兴趣可与我们联系,联系电话0731-88029630</p><p>步步高人力资本中心</p>"
                );*/
        String string = "<p>尊敬的11-肖西先生/女士:</p><p>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;您好!步步高集团正在寻聘招聘主管,该岗位的相关要求与您的工作经验高度匹配,故向您推荐该岗位,岗位具体内容如下:</p><p>岗位职责:</p><p>1、根据现有编制及业务发展需求,协助上级确定招聘目标,汇总岗位需求数目和人员</p><p>需求数目,制定并执行招聘计划;</p><p>2、发布职位需求信息,做好公司形象宣传;</p><p>3、搜集简历,对简历进行处理并组织面试工作;</p><p>4、负责招聘广告的撰写,招聘网站的维护和更新,以及招聘网站的信息沟通。</p><p>任职要求:</p><p>1、人力资源管理或相关专业本科以上学历;</p><p>2、有相关工作经验优先;</p><p>3、熟悉人力资源各模块相关知识;</p><p>4、具有较强的语言表达能力、人际交往能力、应变能力、沟通能力及解决问题的能力,有亲和力,较强的责任感与敬业精神,有原则性。</p><p>如您对该岗位感兴趣可与我们联系,联系电话0731-88029630</p><p>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;步步高人力资本中心</p>";
        string = string.replace("&amp;nbsp;"," ").replace("&nbsp;"," ");//这里替换的空格必须是搜狗字符的空特殊字符替换不然不生效
        try {
            String res = operation.sendMail(user, password, host, from, to,
                    subject, string);
            System.out.println(res);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
前端VUE传值必须调用decodeURI()方法转义

 

后台转回来 URLDecoder.decode(content,"UTF-8")

 

vue结合spring boot使用javax.mail发送邮件,换行空格等问题