SpringBoot2整合JavaMail,发送内嵌表格文件

之前的忘写了,之后补

增加依赖

        <!--  邮件依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

application.yml配置

  mail:
#qq邮箱
    host: smtp.qq.com # QQ邮箱smtp主机
    port: 587 #端口号465或587
#腾讯企业邮箱
    host: smtp.exmail.qq.com
    port: 587        #465不通
    username: @qq.com
    password:  # 这里QQ邮箱开通POP3/SMTP提供的授权码,如果邮箱服务商没有授权码,可以使用密码代替
    protocol: smtp
    default-encoding: UTF-8

重新构造方法

@Override
    public void sendmodelmail(MailBean mailBean) {

        StringBuilder content=new StringBuilder("<html><head></head><body><h3>你好</h3><tr>服务完成</tr>");
        content.append("<table border='5' style='border:solid 1px #E8F2F9;font-size=10px;'>");
        content.append("<tr><th>Call No</th><td>"+mailBean.getCc()+"</td></tr>");
        content.append("<tr><th>公司名称</th><td>column2</td></tr>");
        content.append("<tr><th>分公司</th><td>column2</td></tr>");
        content.append("<tr><th>地址</th><td>column2</td></tr>");
        content.append("<tr><th>联系人</th><td>column2</td></tr>");
        content.append("<tr><th>联系电话</th><td>column2</td></tr>");
        content.append("<tr><th>用户信息</th><td>column2</td></tr>");
        content.append("<tr><th>用户联系方式</th><td>column2</td></tr>");
        content.append("<tr><th>用户Email</th><td>Sherry.Chen@mkcorp.com</td></tr>");
        content.append("<tr><th>用户报障时间</th><td>column2</td></tr>");
        content.append("<tr><th>服务响应时间</th><td>column2</td></tr>");
        content.append("<tr><th>上门服务时间(年/月/日/时)</th><td>column2</td></tr>");
        content.append("<tr><th>服务完成时间(年/月/日/时)</th><td>column2</td></tr>");
        content.append("<tr><th>故障描述</th><td>投影仪颜色暗,清晰度比较差,上门协助</td></tr>");
        content.append("<tr><th>解决方案 (需详细描述)</th><td>column2</td></tr>");
        content.append("<tr><th>服务上门工程师</th><td>周华  15265255388</td></tr>");

        content.append("</table>");
        content.append("</body></html>");

//        mailBean.setTo("liyg@jsyl.com.cn");
        mailBean.setSubject("表格邮件");
        String text=content.toString();
        mailBean.setText(text);

        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);

        try {
            helper.setFrom(sender);
            InternetAddress address1=new InternetAddress("liyg@qq.com","用户A");
            InternetAddress address2=new InternetAddress("liyg@qq.com","用户A");
            InternetAddress[] to={address1,address2};
            helper.setTo(to);
            InternetAddress[] cc={new InternetAddress("@qq.com","用户A"),new InternetAddress("@qq.com","用户B")};
            helper.setCc(cc);
            helper.setSubject(mailBean.getSubject());
            helper.setText(mailBean.getText(), true);
        } catch (MessagingException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        mailSender.send(mimeMessage);

//        mailUtil.sendMailHtml(mailBean);
        log.info("-------------表格邮件发送结束 -------------");
    }

发送方可配置

public void sendMail() {
        Properties props=new Properties();
        props.setProperty("mail.transport.protocol", "smtp");
        props.setProperty("mail.smtp.host", "smtp.exmail.qq.com");
        props.setProperty("mail.smtp.port", "587");
        props.setProperty("mail.smtp.auth", "true");
        props.setProperty("mail.debug","true");

        String from="发件方";
        String to="收件方";
// 创建Session实例对象
        Session session = Session.getDefaultInstance(props);
        try {
        // 创建MimeMessage实例对象
        MimeMessage message = new MimeMessage(session);
        // 设置发件人
        message.setFrom(new InternetAddress(from));
        // 设置邮件主题
        message.setSubject("使用javamail发送简单文本邮件");
        // 设置收件人
        message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
        // 设置发送时间
        message.setSentDate(new Date());
        // 设置纯文本内容为邮件正文
        message.setText("使用POP3协议发送文本邮件测试!!!");
        // 保存并生成最终的邮件内容
        message.saveChanges();

        // 获得Transport实例对象
        Transport transport = session.getTransport();
        // 打开连接
        transport.connect("账号", "密码");
        // 将message对象传递给transport对象,将邮件发送出去

            transport.sendMessage(message, message.getAllRecipients());

        // 关闭连接
        transport.close();

        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }

 

2019-10-23:发送增加附件

https://www.cnblogs.com/ysocean/p/7666061.html#_label5

2019-11-11:表格合并

纵向合并:colspan + 合并数目 横向合并:rowspan + 合并数目

<tr><td colspan="2" rowspan="2"></td></tr>

1.纵向合并是指合并指定数目的列。
2.横向合并是指合并指定数目的行。
3.其中合并的数目是你要合并的总数目减一。
4.都是td标签中的属性。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值