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. spring cloud_1_mm_ribbon

    ji接上文 ribbon做请求分发负载均衡 ribbon 配置: server.port=9999 spring.application.name=ribbon-consumer #stores.ri ...

  2. 使用command line测试网速

    wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py --no ...

  3. socket 简单了解

    网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket.   建立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API),对TCP/IP的 ...

  4. 关于xampp mysql字符编码与编译器编码不匹配问题

    今天,在php中对数据库字符字段进行查询的时候,语法之类的完全正确,但是就是查询不到结果,而在命令行中,同样的语句却能获得预期的功效.经多方面的了解之后才发现是字符编码不匹配的原因.在这里,把我的解决 ...

  5. zoj 2524 并查集裸

    Description There are so many different religions in the world today that it is difficult to keep tr ...

  6. 19.python的序列化

    自定制序列化 import json from datetime import datetime class JsonCustomEncoder(json.JSONEncoder): #自定制序列化类 ...

  7. 炒鸡讨厌换python版本呀

    https://www.cnblogs.com/yjlch1016/p/8641910.html 还是说,装个 Anaconda,你好我好大家好. https://blog.csdn.net/qq_3 ...

  8. Pagedown learning notes

    Pagedown Links Google wiki page Download Markdown.Converter.js var converter = new Markdown.Converte ...

  9. JavaScript杂谈(第六天)

    js中可以使用Function创建函数 var func=new Function(); 这个对象可以将字符串转换为函数 var func=new Function("console.wri ...

  10. [工作积累] NBA 2K16 mobile终于发布了

    忙了大半年, 终于出来了. iOS: https://itunes.apple.com/us/app/nba-2k16/id984732818?mt=8 Android: https://play.g ...