Java中发送邮件的方法之一,需要用到spring框架集成的JavaMailSenderImpl、SimpleMailMessage两个实现类。

一,创建一个service,代码如下:

public interface MailService {

    public Boolean sendTextMail(String subject,String text,String to);

    public Boolean sendHtmlMail(String subject,String text,String to);

}

二,service实现类如下:

@Service
public class MailServiceImpl implements MailService{
@Autowired
private JavaMailSenderImpl mailSender;
@Autowired
private SimpleMailMessage mailMessage; @Override
public Boolean sendTextMail(String subject,String text,String to) { //发送文本邮件,纯文字。
try {
mailMessage.setSubject(subject);
mailMessage.setText(text);
mailMessage.setTo(to);
mailSender.send(mailMessage);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
@Override
public Boolean sendHtmlMail(File file, String subject, String text, String to) { //发送HTML邮件,包含格式、图片、附件等
try {
MimeMessage mimeMessage =mailSender.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage,true); String from = ApplicationUtils.getApplicationSettings().getProperty("mail.from","xx@sina.com"); //这里的发送者是从配置文件中读取的。
messageHelper.setFrom(from);
messageHelper.setSubject(subject);
messageHelper.setTo(to);
messageHelper.setText("<html><head></head><body>"+text+"</body></html>", true);
//发送图片
/* FileSystemResource image = new FileSystemResource(new File("C:\\text.png")); //添加图片
messageHelper.addInline("img", image);*/
messageHelper.addAttachment(file.getName(), file); //添加附件
mailSender.send(mimeMessage);
return true; } catch (MessagingException e) { e.printStackTrace();
} return false;
} }

Java邮件发送的更多相关文章

  1. JAVA邮件发送的简单实现

    JAVA MAIL是利用现有的邮件账户发送邮件的工具,比如说,我在网易注册一个邮箱账户,通过JAVA Mail的操控,我可以不亲自登录网易邮箱,让程序自动的使用网易邮箱发送邮件.这一机制被广泛的用在注 ...

  2. java-基于JavaMail的Java邮件发送

    1.基于JavaMail的Java邮件发送:简单邮件发送 2.基于JavaMail的Java邮件发送:复杂邮件发送

  3. 基于JavaMail的Java邮件发送:复杂邮件发送

    参考:http://blog.csdn.net/xietansheng/article/details/51722660package com.bfd.ftp.utils;import java.ut ...

  4. java邮件发送(含附件)

    1. [代码]java邮件发送(含附件)疯狂的IT人站长整理的:利用Java发送邮件(含附件)的例子:1.邮件发送的配置propertity文件内容如下:(utils.properties文件放在sr ...

  5. Java邮件发送与接收原理

    一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器.例如现在Internet很多提供邮件服务的厂商:sina.sohu ...

  6. java邮件发送(以163邮箱为例)

    1.首先应该开通163邮箱的smtp和pop3,得到授权码 2.其次建立一个web项目,否则需要倒jar包mail.jar 3.创建一个类 4.注意:邮件内容必须为正式话语,否则系统会认为是垃圾邮件而 ...

  7. java 邮件发送工具类

    首先需要下载mail.jar文件,我个人通常是使用maven中心库的那个: <dependency> <groupId>javax.mail</groupId> & ...

  8. java 邮件发送工具类【来源网络自己已经实际应用】

    最近在做一个Java发送邮件的工具类,现在分享一下完整的代码 首先需要java邮件的包javax.mail-1.5.4.jar 之前因为链接给错了,很不好意思,现在重新发一次. 包在这里可以下载htt ...

  9. 【转】基于JavaMail的Java邮件发送

    http://blog.csdn.net/xietansheng/article/details/51673073 http://blog.csdn.net/xietansheng/article/d ...

  10. java邮件发送工具

    最近在web项目中,客户端注册时需要通过邮箱验证,服务器就需要向客户端发送邮件,我把发送邮件的细节进行了简易的封装: 在maven中需要导入: <!--Email--> <depen ...

随机推荐

  1. Charles抓包遇到的问题

    1.手机设置了代理但是连不上网,无法下载HTTPS证书,关闭电脑防火墙! 2.content乱码解决方案参考https://www.cnblogs.com/puresoul/p/7365761.htm ...

  2. 增长java中数组的长度

    package month_201711; import java.util.Arrays;/** * 数组长度+1 * @author watchfree * */public class Main ...

  3. vue.js 视频教程

    0.1智能社vuejs(1-11章全套) 0.2英文版learing vuejs 0.3Vue.js实战小米阅读开发 0.4走进Vue.js2.0 0.5Vuejs教程45节课 0.6Vue.js+N ...

  4. jQuery-4.动画篇---动画切换的比较(toggle与slideToggle以及fadeToggle的比较)

    jQuery中toggle与slideToggle以及fadeToggle的比较 操作元素的显示和隐藏可以有几种方法.例如: 改变样式display为none 设置位置高度为0 设置透明度为0 都能达 ...

  5. Installshield创建快捷方式不能正常运行的几种原因

    Installshield软件提供创建快捷方式的功能,但是经常有朋友发现创建了以后快捷方式不能运行,在此列一下几种常见原因供各位朋友参考: 1. 没有选择相应的working directory,这种 ...

  6. 返回上一页面带数据 getCurrentPages 使用

    https://blog.csdn.net/She_lock/article/details/81099449

  7. 03MYSQL数据库

    mySQL 数据库 储存数据,属于中小型数据库   默认端口号 3306  密码root sql是一门编程语言 结构化查询语言  是强类型语言(定义变量时要指定变量类型) 字符串有两种类型:  定长: ...

  8. Array.sort()

    sort() : 是对数组的元素进行排序,并返回一个数组.默认排序方式是根据字符串的Unicode码表的码点. 由于取决于具体实现,所以无法保证它的时间和空间复杂度. arr.sort(compare ...

  9. springmvc 在非controller下使用@autowired

    在SpringMVC框架中,我们经常要使用@Autowired注解注入Service或者Mapper接口,我们也知道,在controller层中注入service接口,在service层中注入其它的s ...

  10. npm,bower安装失败

    安装一些软件时,总是会出现一些莫名其妙的问题.我在安装node.js时,默认安装到C:\Program Files\nodejs之后,安装bower时,bower_components默认装到C:\W ...