当前位置: 首页 > news >正文

建站之星官网 discuz环球贸易网

建站之星官网 discuz,环球贸易网,东道设计是4a公司吗,做网站第一文章目录 0、相关协议1、SpringBoot整合JavaMail2、发送简单邮件3、发送复杂邮件 0、相关协议 SMTP(Simple Mail Transfer Protocol):简单邮件传输协议,用于发送电子邮件的传输协议POP3(Post Office Protocol - Versi…

文章目录

  • 0、相关协议
  • 1、SpringBoot整合JavaMail
  • 2、发送简单邮件
  • 3、发送复杂邮件

0、相关协议

  • SMTP(Simple Mail Transfer Protocol):简单邮件传输协议,用于发送电子邮件的传输协议
  • POP3(Post Office Protocol - Version 3):用于接收电子邮件的标准协议
  • IMAP(Internet Mail Access Protocol):互联网消息协议,是POP3的替代协议

1、SpringBoot整合JavaMail

STEP1:加入JavaMail起步依赖:

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

STEP2:相关配置:

spring:  mail:    host: smtp.qq.com  # 发邮件,smtp协议,后面.运营商    username: *********@qq.com    password: *********  # 不是邮箱的密码,是下面获取的一个授权码

注意password,不是邮箱的登录密码,是一个授权码,获取方式,在QQ邮箱中是【设置】-【邮箱账号】-【开启】

在这里插入图片描述

发送验证短信:

在这里插入图片描述

然后在上个页面点保存更改,(记得点保存更改)复制这个授权码就是password的值,即可配置邮件客户端成功。

在这里插入图片描述
其他类型的邮箱获取方式类似,比如163:

在这里插入图片描述

STEP3:注入JavaMailSender对象,定义发送邮件的接口

@Autowired    
private JavaMailSender javaMailSender;   

整合完成,下面按简单邮件和复杂邮件来写。简单即普通文本,复杂即超链接、附件等。

2、发送简单邮件

以下用QQ邮箱给163邮箱发一个简单文本的邮件:

//定义接口
public interface SendMailService{void sendMail();
}
//实现类@Service
public class SendMailServiceImpl implements SendMailService { @Autowired    private JavaMailSender javaMailSender;   //这些值也可以不硬编码,写在配置文件中@Value取值private String from = "********@qq.com";	 // 发送人    private String to = "********@126.com";	 // 接收人   private String subject = "测试邮件";		 // 邮件主题   private String text = "测试邮件正文";	 	// 邮件内容@Override    public void sendMail() {       SimpleMailMessage mailMessage = new SimpleMailMessage();  //mailMessage.setFrom(from); //from后面加个名字,比如xxx公司,不然发送发一串邮箱数字,谁知道你是谁      mailMessage.setFrom(from + "别名");   //这里的to是个可变长String,即可发送多人mailMessage.setTo(to);        mailMessage.setSubject(subject);        mailMessage.setText(text);//mailMessage.setSendDate();        //设置发送的时间//其他设置自行setjavaMailSender.send(mailMessage);     //发送}}

写个测试类看下效果:

在这里插入图片描述
联不通:

在这里插入图片描述

我在公司内网写的,网络不通,不是25端口被禁的原因,在外网是可以ping通smtp.qq.com这个host的。先跳过了。

3、发送复杂邮件

正文为html,比如超链接或者图片。以及发送附件:

//超链接
private String text = "<a href='https://www.baidu.com/'>百度</a>";//图片
private String img = "<img src='https://pic35.photophoto.cn/20150511/0034034892281415_b.jpg' />";@Override
public void sendMail() {    try {        MimeMessage mimeMessage = javaMailSender.createMimeMessage(); //第二个参数,即是否允许添加多部件//我后面要添加各种附件,所以这里必须是true       MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage,true);       mimeMessageHelper.setFrom(from);       mimeMessageHelper.setTo(to);        mimeMessageHelper.setSubject(subject);//不加true,默认当普通文本,true即按html来解析        mimeMessageHelper.setText(text,true);  //添加附件File file1 = new File("logo.png"); File file2 = new File("D:\\myboot.jar"); //如果是手写文件名,记得添加个后缀,比如.png,方便在邮件里可预览 mimeMessageHelper.addAttachment(file1.getName(),file1);  mimeMessageHelper.addAttachment("一个jar包.jar",file2);    javaMailSender.send(mimeMessage);    } catch (Exception e) {       e.printStackTrace();   }
}

注意点:

  • 不再用简单消息对象,而是MimeMessage对象,并把它包装成mimeMessageHelper对象
  • 要传附件的话,mimeMessageHelper对象构造方法的第二个参数传true
  • setText方法重载,第二个参数传true,就是讲text按照html来解析,而不是普通文本
  • 注意最后send的还是MimeMessage对象,不是mimeMessageHelper对象
http://www.dt0577.cn/news/1690.html

相关文章:

  • 网站制作建设兴田德中国十大电商平台排名
  • 做网站的能赚多少钱一个新产品策划方案
  • 网站建设是怎么一回事网站seo如何做好优化
  • 做网站建设平台hao123网址导航
  • 东莞网站关键词百度搜索推广方案
  • 前端开发和后端开发哪个好seo诊断分析
  • 三五互联做网站怎么样线上宣传推广方式
  • 图片设计师网站网上做广告怎么收费
  • 电动工具咋在网上做网站百度广告运营
  • 用来做旅游攻略的网站优化外包服务公司
  • 设计公司vi设计seo关键词排名优化手机
  • 安徽省水利厅j建设网站长沙seo优化推广公司
  • 网站系统设计方案互联网营销师课程
  • wordpress博客增加音乐页面整站优化快速排名
  • 北京赛车手机网站建设网络营销的传播手段
  • 如何做deal网站推广小程序推广的十种方式
  • 邢台做网站的网站策划方案书
  • 教学互动网站开发背景中国最新消息今天
  • 校园兼职网站建设seo排名方案
  • 可以制作app的软件天津百度网站快速优化
  • 墙内千兆网站怎么做域名注册要多少钱
  • 大型建设网站太原网站建设谁家好
  • 网站维护意义网店营销策划方案
  • 网站建设说明百度权重3的网站值多少
  • 建设行业网站小学生简短小新闻十条
  • 手机图片编辑器seo点击排名软件营销工具
  • 石家庄手机网站制作多少钱网站怎么推广效果好一点呢
  • 建设网站功能重庆seo俱乐部联系方式
  • php做的网站处理速度怎么样seo优化效果
  • 公共体育课程网站建设推广自己的网站