java发邮件(简单)
睿洛医疗
参考:
https://github.com/fire-basketball/springboot2-emailhttps://github.com/fire-basketball/springboot2-emailhttps://blog.csdn.net/weixin_38611617/article/details/115999647
https://blog.csdn.net/weixin_38611617/article/details/115999647
1,工具类
package com.ruoyi.ibs.util;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import javax.mail.internet.MimeMessage;
import java.io.File;/**
*@author created by Jerry
*@date 2022年4月7日---下午2:23:47
*@problem
*@answer
*@action
*/@Service
public class MailService {private final Logger logger = LoggerFactory.getLogger(this.getClass());@Value("${spring.mail.username}")private String from;@Autowiredprivate JavaMailSender mailSender;/*** 发送文本邮件** @param to 接收人* @param subject 主题* @param content 邮件内容*/public void sendSimpleMail(String to,String subject,String content){SimpleMailMessage message = new SimpleMailMessage();message.setTo(to);message.setSubject(subject);message.setText(content);message.setFrom(from);mailSender.send(message);logger.info("发送邮件: {},{},{}",to,subject,content);}/*** 发送HTML邮件** @param to* @param subject* @param content*/public void sendHtmlMail(String to,String subject,String content) throws Exception {MimeMessage mimeMessage = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);helper.setFrom(from);helper.setTo(to);helper.setSubject(subject);helper.setText(content,true);mailSender.send(mimeMessage);}/*** 发送带副本的邮件** @param to* @param subject* @param content*/public void sendAttachmentMail(String to,String subject,String content,String filepath) throws Exception {MimeMessage message = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message,true);helper.setFrom(from);helper.setTo(to);helper.setSubject(subject);helper.setText(content,true);//文件流:获取本地文件FileSystemResource file = new FileSystemResource(new File(filepath));String filename = file.getFilename();//可以发送多个helper.addAttachment(filename,file);// helper.addAttachment(filename+"_test",file);//进行发送mailSender.send(message);}/*** 发送图片邮件** @param to* @param subject* @param content* @param rscPath* @param rscId* @throws Exception*/public void sendImageMail(String to,String subject,String content,String rscPath,String rscId){logger.info("发送静态邮件开始: {},{},{},{},{}",to,subject,content,rscPath,rscId);MimeMessage message = mailSender.createMimeMessage();MimeMessageHelper helper = null;try{helper = new MimeMessageHelper(message, true);helper.setFrom(from);helper.setTo(to);helper.setSubject(subject);helper.setText(content,true);FileSystemResource file = new FileSystemResource(new File(rscPath));helper.addInline(rscId,file);mailSender.send(message);logger.info("发送静态图片邮件成功!");}catch (Exception e){logger.error("发送静态邮件失败!",e);}}
}
2,maven
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
3,spring-boot配置参数
# 邮箱环境配置
spring.mail:host: smtp.163.comusername: 你的发件邮箱password: 你的邮箱密码default-encoding: UTF-8
Linux环境可能25端口受限,用465 SSL,配置如下:
spring.mail:port: 465host: 123.126.97.113username: XXX@163.compassword: DDDDdefault-encoding: UTF-8protocol: smtpproperties:mail:smtp:ssl:enable: truesocketFactory:port: 465class: javax.net.ssl.SSLSocketFactory
4,发送示例
package com.ruoyi.ibs.task;import java.util.Iterator;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import com.github.pagehelper.PageHelper;
import com.ruoyi.ibs.msg.domain.IbsMymsg;
import com.ruoyi.ibs.msg.service.IIbsMymsgService;
import com.ruoyi.ibs.util.MailService;
import com.ruoyi.quartz.task.RyTask;/**
*@author created by Jerry
*@date 2022年4月7日---下午2:06:05
*@problem
*@answer
*@action
*/
@Component("taskMsg")
public class TaskMsg extends RyTask{@Autowiredprivate IIbsMymsgService ibsMymsgService;@ResourceMailService mailService;public void SendMail(){IbsMymsg ibsMymsg = new IbsMymsg();ibsMymsg.setMymsgSent("N");PageHelper.startPage(1, 300);List<IbsMymsg> list = ibsMymsgService.selectIbsMymsgTaskList(ibsMymsg);for (Iterator iterator = list.iterator(); iterator.hasNext();) {IbsMymsg msg = (IbsMymsg) iterator.next();String nickName = msg.getUser().getNickName();String gender = msg.getUser().getSex().equals("1")?"女士":"先生";String toEmail = msg.getUser().getEmail();String title = msg.getSnot().getNoticeTitle();String content = msg.getSnot().getNoticeContent();String temp = nickName + gender + ":\n\t" + content;mailService.sendSimpleMail(toEmail,title,temp);msg.setMymsgSent("Y");ibsMymsgService.updateIbsMymsg(msg);}}
}
java发邮件(简单)相关推荐
- Java(83)Java发邮件简单工具类
1.Maven引用 <!-- https://mvnrepository.com/artifact/javax.mail/javax.mail-api --><dependency& ...
- Java(81):Java发邮件简单示例
Java Email jar包下载地址:JavaMail API https://www.oracle.com/java/technologies/javamail.html JavaMail 右侧 ...
- 简易的java发邮件客户端
主要是想熟悉一下jigloo插件的使用,所以做了一个发邮件的小程序,其实调用的都是人家的东西,我们自己只做了最简单的傻瓜操作,每思及此,感觉要学的东西还很多. 本人很懒,搞swing那套东西很不给力, ...
- Java发邮件-QQ服务器认证
2019独角兽企业重金招聘Python工程师标准>>> Java发邮件的几种方式 JavaMail Commons Email Spring Mail JavaMail是Java提供 ...
- java发邮件的代码
通过java发送邮件的代码 转载请注明出处:java发邮件的代码 package com.zuidaima.util.mail;import java.util.Properties;import j ...
- java 发邮件_java实现邮件的发送
文章所用jar文件 链接:https://pan.baidu.com/s/1YaxhdkaCTC4TUDL-y9-ASQ 提取码:30ow 程序入口,发送工具类 package test; impor ...
- Java发邮件(详解+源代码)
Java发送邮件 一.邮件概述 (1)收发邮件 发邮件大家都会吧!发邮件是从客户端把邮件发送到邮件服务器,收邮件是把邮件服务器的邮件下载到客户端. 我们在163.126.QQ等网站注册的Email账户 ...
- 使用java发邮件,附jar包
本人小白,很多都是转载资料,只是学习研究一下! 需要用到发邮件的朋友可以看一下,我们需要用到三个包,分别是commos- email.jar,javax.activation-1.1.0.jar,ma ...
- java发邮件_使用MATLAB自动发邮件
MATLAB作为工程师的得力助手,常被我们誉为万能助手."MATLAB啥都能做,除了生孩子"这种话语常挂在我们嘴边.今天小编就偷偷告诉大家一个使用MATLAB自动发邮件的方法. 在 ...
- java 发邮件 乱码_JavaMail发送中文邮件乱码的解决 | 学步园
我们的程序经常会出现这样一个问题,在WinXp下测试是正常的,而到了服务器(Linux操作系统)上就出现这个问题. 1. 由于邮件我写的程序的邮件主题是写在配置文件(. properties)中 ...
最新文章
- flash读取程序 msp430_MSP430单片机对片内FLASH的读写操作程序范例
- 如何将Twitter消息导入到SAP CRM和Cloud for Customer去
- win7磁盘设置背景方法
- Unity手游之路四3d旋转-四元数,欧拉角和变幻矩阵
- C语言里if语句变量作为判断条件,C语言教学(九-上)if else判断语句
- EMC VMAX的磁盘构成,fast policy(重要)
- esp8266连接不上服务器不稳定,esp8266 联网问题+链接服务器问题
- junit 经典示例_JUnit 4,JWebUnit,Arquillian和JSF单元示例教程
- [Node] 基础知识
- MSR系列路由器DAR功能的配置
- 一台电脑安装多个Chrome
- java map映射_java8流操作之map映射
- 廊坊金彩教育:怎么做主图
- jdk8Comparator.comparing 排序
- mac升级python版本_Mac上python如何升级?
- 隐藏微信右上角的分享按钮
- 【BZOJ3172】[TJOI2013] 单词(AC自动机的小应用)
- 徐则臣新作《北上》:我们的历史写在这条河流上
- 10 Python pitfalls
- Allegro中如何添加自定义LOGO