Spring的javaMail邮件发送(带附件)
项目中经常用到邮件功能,在这里简单的做一下笔记,方便日后温习。
首先需要在配置文件jdbc.properties添加:
#------------ Mail ------------
mail.smtp.auth=true
mail.smtp.timeout=25000
mail.smtp.starttls.enable=false
二、配置applicationContext.xml文件
<!-- 邮件发送 -->
<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="javaMailProperties">
<props>
<!-- SMTP服务器是否需要用户认证,默认为false -->
<prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
<!-- I/O连接超时时间,单位为毫秒,默认为永不超时 -->
<prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop>
<!-- starttls验证 -->
<prop key="mail.smtp.starttls.enable">${mail.smtp.starttls.enable}</prop>
</props>
</property>
</bean>
三、在ServiceImpl声明注入
@Resource(name = "javaMailSender")
private JavaMailSenderImpl javaMailSender;
四、方法的调用
try {
javaMailSender.setHost("smtp.163.com");
javaMailSender.setPort();
javaMailSender.setUsername("test_mail@163.com");// 邮箱账号
javaMailSender.setPassword("123456");// 密码
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, false, "utf-8");
mimeMessageHelper.setFrom(MimeUtility.encodeWord("test_mail@163.com"));// 发送人
mimeMessageHelper.setSubject("邮件标题");// 邮件标题
mimeMessageHelper.setTo("12345678@qq.com");// 收件人
//mimeMessageHelper.setText("邮件内容", false);// 邮件内容,第二个参数表示是否发送的是HTML格式,true表示是,false表示否
// 添加邮件正文
MimeMultipart multipart = new MimeMultipart();
BodyPart contentPart = new MimeBodyPart();
contentPart.setContent("这里是邮件内容,测试邮件内容。", "text/html;charset=UTF-8");
multipart.addBodyPart(contentPart);
// 添加附件
String[] paths = { "D:\\1024.png", "D:\\text.txt" };
for (String filePath : paths) {
MimeBodyPart part = new MimeBodyPart();
FileDataSource fds = new FileDataSource(filePath);
part.setFileName(MimeUtility.encodeWord(fds.getName()));// MimeUtility.encodeWord文件名解决中文乱码
part.setDataHandler(new DataHandler(fds));
multipart.addBodyPart(part);
}
mimeMessage.setContent(multipart);
javaMailSender.send(mimeMessage);//发送
} catch (MessagingException e) {
e.printStackTrace();
}
注:所需包 activation.jar、mail-1.4.4.jar、spring.jar
Spring的javaMail邮件发送(带附件)的更多相关文章
- java mail邮件发送(带附件) 支持SSL
java mail邮件发送(带附件)有三个类 MailSenderInfo.java package mail; import java.util.Properties; import java.ut ...
- [SpringBoot] - 发送带附件的邮件
<!--发送email依赖--> <dependency> <groupId>org.springframework.boot</groupId> &l ...
- 使用Spring发送带附件的电子邮件(站内和站外传送)
JavaMail的介绍 JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输. 虽然JavaMail是 ...
- ORACLE发送带附件邮件的二三事之一
在oracle使用过程中,我们可以通过pl/sql生成数据文件,也可以通过spool on spool off生成,但某些环境下,我们需要通过存储过程处理数据,数据处理完,需要自动生成数据文件,手工导 ...
- java发送带附件的邮件
/** * java发送带附件的邮件 * 周枫 * 2013.8.10 */ package com.dsideal.Util; import javax.mail.*; import javax.m ...
- C#发送带附件的邮件的代码
如下的代码是关于C#发送带附件的邮件的代码. MailMessage m = new MailMessage();m.Subject = "File attachment!";m. ...
- 利用Python+163邮箱授权码发送带附件的邮件
背景 前段时间写了个自动爬虫的脚本,定时在阿里云服务器上执行,会从某个网站上爬取链接保存到txt文本中,但是脚本不够完善,我需要爬虫完毕之后通过邮件把附件给我发送过来,之前写过一个<利用Pyth ...
- 接口测试基础——第2篇smtplib发送带附件的邮件
我先给大家补充一个用QQ发送纯文本电子邮件的代码,用QQ的朋友可以参考一下: # coding=utf-8 import smtplib from email.mime.text import MIM ...
- 利用springframework+javax.mail发邮件(普通邮件、带附件邮件、HTML格式邮件)
Spring提供了发送电子邮件的支持,可以发送普通邮件.带附件邮件.HTML格式邮件,甚至还可以使用Velocity模板定制化邮件内容. 一.引入相关的库 1 2 3 4 5 6 7 8 9 10 1 ...
随机推荐
- java枚举使用详解(转)
在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的"数 ...
- win2003下全自动快速安装php+mysql套件
导读:Windows 2003下一键快速安装PHP和MySql的安装包 场景:wind2003 32位 php5.2 1.下载php+mysql套件 地址1 http://pan.baidu.com/ ...
- Power Bi的优势 特色功能
Power-BI可以让决策者不再依赖他人,就可及时.准确(没有人为加工,自然是最准确的)的得到各种关键经营数据: Power-BI不仅仅是让报表自动生成,而是完全改变了获取经营数据的方式,它可以直观的 ...
- Java遇见HTML——JSP篇之JSP基础语法
一.JSP简介 JSP全名为Java Server Pages,Java服务器端页面,其根本是一个简化的Servlet设计,它实现了在Java中使用HTML标签.Jsp是一种动态网页技术标准,是在服务 ...
- Spring Boot 1 创建Demo
Spring Boot的主要优点: 为所有Spring开发者更快的入门 开箱即用,提供各种默认配置来简化项目配置 内嵌式容器简化Web项目 没有冗余代码生成和XML配置的要求 入门操作: 1.打开ht ...
- Fluentd安装——通过rpm方式
0. td-agent是何物 为了灵活性,fluentd用Ruby写的,其中一些性能敏感的部件使用c写的.普通的用户直接安装和使用Ruby进程可能有困难,这样就把它封装成Fluentd的稳定版本——t ...
- WCF笔记
http://msdn.microsoft.com/en-us/library/system.servicemodel.dispatcher.iparameterinspector.aftercall ...
- Baseline模板管理
SQL> alter session set NLS_DATE_FORMAT= 'yyyy-mm-dd hh24:mi:ss'; 创建单一基线模板: SQL> exec dbms_work ...
- Oracle自增长ID
在Oracle中,可以为每张表的主键创建一个单独的序列,然后从这个序列中获取自动增加的标识符,把它赋值给主键.例如一下语句创建了一个名为customer_id_seq的序列,这个序列的起始值为1,增量 ...
- 常用<meta>标签
页面关键词 <meta name="keywords" content="your tags" /> 页面描述 <meta name=&quo ...