赞
踩
详细代码: https://download.csdn.net/download/qq3892997/86264195
pom.xml:
- <!-- javax.mail版本依赖于Springboot的版本 -->
- <dependency>
- <groupId>com.sun.mail</groupId>
- <artifactId>javax.mail</artifactId>
- </dependency>
- <dependency>
- <groupId>cn.hutool</groupId>
- <artifactId>hutool-all</artifactId>
- <version>5.7.19</version>
- </dependency>
发送邮件代码:
- public SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E"); //年月日 时分秒 周
-
- @Value("${ldt.system.mail}") //properties文件中定义的变量值(邮件发送者)
- String sender;
- @Value("${spring.mail.host}")
- String host;
- @Value("${spring.mail.port}")
- Integer port;
- //以上三个变量都在properties文件中定义,因此当前类必须使用@Component让spring托管,否则@Value是无法获取到配置文件的值,
- //如果huToolsendEmail方法被其他类引用了,那么需要使用@Resource引入当前类,请勿使用new xxx()的方法调用当前类的方法,因new对象不是spring托管也是无法获取到@Value的值的
-
- public void huToolsendEmail(String text, File file) {
- System.setProperty("mail.mime.splitlongparameters", "false");//设置系统值 ---处理文件名乱码
- MailAccount account = new MailAccount();
- account.setHost(host);
- account.setPort(port);
- // account.setAuth(true);//无用户名与密码就必须注释掉auth 否则报错
- account.setFrom(sender);//发送人
- Mail mail = Mail.create(account);
- mail.setFiles(file);//带附件
- mail.setTos("xxxx@xxx.com.xx");//收件人
- mail.setTitle("标题");
- mail.setContent("内容");//如果内容是Html格式,需要把mail.setHtml(true)设置未true,否则格式失效
- mail.setHtml(true);
- mail.send();
- }
如果huToolsendEmail方法所在类不在启动类同模块中,且不想添加注解扫描,那么使用以下类进行获取properties文件内容:
- package xxx..xxxxxxx.........xxxxx
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.Properties;
-
- /*获取properties文件中的值
- *
- * spring托管的类可以直接使用@Value获取到properties内的值,但因为需要在公共模块中写一个公共类获取properties的值,
- * 而公共模块意味着跟启动类不是同一个模块(重点是 不是同一个父文件夹),因此没办法被spring扫描到,需要在启动类中添加@MapperScan("xxx.xxx"),而又不想因为这一个类就去扫描这个文件夹
- *因此就抛弃了直接使用@Value获取properties值的方式,转而使用以下代码获取配置文件内容
- * */
- public class ResourceUtil {
- static Properties properties;
-
- static{
- properties=new Properties();
- InputStream in= ResourceUtil.class.getClassLoader().getResourceAsStream("application.properties");
- try {
- properties.load(in);
- if (in != null) {
- in.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- public static String getValue(String key){
- return properties.getProperty(key);
- }
-
- public static Properties getProperties(){
- return properties;
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。