美文网首页
邮箱发送工具类

邮箱发送工具类

作者: 夜空最亮的9星 | 来源:发表于2018-09-04 12:37 被阅读10次

注册邮箱

去163邮箱(或其他邮箱)注册一个邮箱,并开启SMTP授权码。

程序

需要注意的是,由于阿里云服务器不让使用默认的25端口,所以会出现Windows下测试发送邮件成功,Linux服务器下发送邮件却出错的问题(broke pipe、timeout、can not connect等)。解决办法是使用带SSL的465端口。

参考链接:

pom依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>   

application.properties

spring.mail.host=smtp.exmail.qq.com
spring.mail.password=123456
spring.mail.port=587
spring.mail.username=admin@exmail.com
spring.mail.protocol=smtp
spring.mail.properties.mail.smtp.auth=true

代码如下

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import org.springframework.ui.freemarker.FreeMarkerTemplateUtils;
import javax.mail.*;
import javax.mail.internet.AddressException;
import javax.mail.internet.MimeMessage;
import java.io.File;
import java.util.*;

     /** * 邮件发送工具类 */ 
public class EmailUtils { 

    // (自定义)邮件发送者
    @Value("${spring.mail.from}")
    private String email_from;
   
    @Autowired
    private JavaMailSender emailSender  
     /** 
     * 发送邮件的方法 
     * @param toUser :收件人 
     * @param title :标题 
     * @param content :内容 
     */ 
     public static void sendMail(String toEmail,String title,String content) throws Exception {
      // 你自己的邮箱和授权码 
      final String username = "xxxxx@163.com";
      //自己的邮箱 final String password = "xxxxxxxxxx";
      
      //授权码,需要登录163邮箱,在设置里设置授权码。授权码用于替代密码
      
      
       MimeMessage msg = emailSender.createMimeMessage();
            //开启带附件true
            MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(msg,true);
//          MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(msg);

            File file = new File(poiUtills.initOutputDir()+File.separator +"附件.xlsx");

            mimeMessageHelper.addAttachment("附件.xlsx",file);
            //设置发送内容
            mimeMessageHelper.setFrom(email_from);
            if (toEmail.contains(",")) {
                mimeMessageHelper.setTo(toEmail.split(","));
            } else {
                mimeMessageHelper.setTo(toEmail);
            }
            mimeMessageHelper.setSubject(title);
            String message = "你好:</br><p>这是"+etl_date+"日的监控告警邮件,请查看附件详细信息。</br>";
            // mimeMessageHelper.setText(message, true);
            mimeMessageHelper.setText(content);
            emailSender.send(msg);
}
      
      

相关文章

  • 邮箱发送工具类

    注册邮箱 去163邮箱(或其他邮箱)注册一个邮箱,并开启SMTP授权码。 程序 需要注意的是,由于阿里云服务器不让...

  • springBoot之邮箱发送邮件

    导入依赖 邮箱发送工具类 常用邮件服务器地址

  • 邮件发送

    应用场景:系统找回密码,严重码发送邮箱,或者预警信息发送通知者邮箱,并做日志记录 公共类:EmailHelper ...

  • 正则工具(身份证、手机、邮箱、汉字等)

    正则工具类常量 正则工具类异常 正则工具类(验证手机号、身份证、邮箱、汉字等)

  • 使用selenium控制网页发送邮件

    使用网页测试工具selenium自动发送邮箱 公司有一批服务器需要自动同步数据并发送邮箱,由于种种条件限制只能使用...

  • JavaMail

    JavaMail发送邮件工具类 }

  • java实现邮件的发送

    文章所用jar文件 程序入口,发送工具类 发送简单邮件方法类 邮件发送控制器 核心发送方法

  • Java阿里大于短信工具类

    该工具类包含了如下功能: 短信发送 发送详情查询 工具类代码如下: 配置文件代码如下:

  • 邮件发送工具类

    工具类 mail.ftl模板

  • 自动发送邮件案例

    一、打开python编辑工具,导入相关模块 二、登录发送邮件的客户端 登录邮箱后,前往邮箱协议设置,开启SMTP服...

网友评论

      本文标题:邮箱发送工具类

      本文链接:https://www.haomeiwen.com/subject/tvsgwftx.html