网络营销专家网
论坛群发、博客群发、商机群发尽在网络营销专家网首页搜索标签留言本您的位置:首页 > 论坛群发 > spring30发送电子邮件velocity模板带附件群发解决乱码最终版_邮件群发工具spring30发送电子邮件velocity模板带附件群发解决乱码最终版_邮件群发工具
0 comments -12-4 18:24:54 1viewsWecome.vm
主要是mailSend这个方法,在这个方法里先创建了一个消息,然后调用mailSender将消息发送出往。
importjava.io.File;
returnms;
<html>
message.setSubject(subject);//设置邮件主题
//从模板中加载要发送的内容,vmfile就是模板文件的名字
文件结构:
<body>
message.setTo(mailTo);//设置接收方的email地址
另外,程序提供了发送附件的部分,和群发的功能,只不过群发功能并不完善,由于群发过程中无法将模板变量替换成用户相关变量值,这是个缺陷,楼主也没想明白如何实现。
importjava.util.HashMap;
file=newFileSystemResource(newFile(s));//读取附件
importjavax.mail.internet.MimeMessage;
String[]{"woshiguanxinquan@"},newString[]{"F:/Sunset.jpg","F:/spring-hibernate.rar" });
//将发送的内容赋值给MimeMessageHelper,后面的true表示内容解析成html
publicvoidprepare(MimeMessagemimeMessage)throwsException
Stringvmfile,finalString[]mailTo,finalString[]files){MimeMessagePreparatorpreparator=newMimeMessagePreparator(){//留意MimeMessagePreparator接口只有这一个回调函数
@Configuration
<?xmlversion="1.0"encoding="UTF-8"?>
//参数说明:替换velocity模板的变量和值对,邮件主题,velocity模板文件的路径,接收方email地址,附件
</body>
publicclassThirdVelocityEmailAppConfig{
//假如您不想解析文本内容,可以使用false或者不添加这项
private@Value("${email.host}")StringemailHost;
有些包并没用到,比如和Hibernate相关的,由于这个发送邮件的程序只是这个工程的一小部分。
的spring架构来发送邮件的内容,同时在前面两次博客中也发布了一些关于这方面的小展垫,今天预备给大家提供一个比较完整的实例,您可以根据您的实际情况进行修改,放进您的工程中,希看能对大家有所帮助。
//简单说明,假如您要群发,可以在接收方email地址中多传进几个email地址,附件可以一次发送多个
下面是spring的配置文件:
MimeMessageHelpermessage=newMimeMessageHelper(mimeMessage,true,"GBK");
<beanid="velocityEngine"class="org.springframework. ui.velocity.VelocityEngineFactoryBean">
velocityEngine,vmfile,"GBK",model);
使用的包:
class.resource.loader.class=org.apache.velocity.ru ntime.resource.loader.ClasspathResourceLoader
再次简单说明一下,主机的信息配置在mail.properties文件中,发送的内容写在velocity模板文件中,在执行的时候将相应的字段进行替换。使用了MimeMessagePreparator进行复杂邮件的发送,MimeMessageHelper帮助简化邮件信息过程。解决了中文乱码题目。
由于我的程序比较多,大家进关注选中的文件即可,其他文件与本工程不相关。
Stringtext=VelocityEngineUtils.mergeTemplateIntoSt ring(
我将发送的内容放在一个velocity模板文件中,这个文件很像jsp文件,您可以从/blog/23634中获取更多的关于velocity使用方法相关的信息。(实际上velocity是Apache提供的一种模板语言)。我希看邮件接收方能够接收一个动态的网页,而不是一个简单的文本。
//假如您使用的都是英文,那么可以使用MimeMessageHelpermessage=newMimeMessageHelper(mime Message);
packagecom.guan.chapter19.email;
在这个例子中,将与发送方相关的配置信息放在了一个email.properties文件中,spring容器启动的时候会从这个属性文件中读取发送方的配置信息,这样配置的主要原因在于,发送方一般都是固定不变的。
for(Strings:files)//添加附件
执行结果:
下面将代码贴出,希看对大家有帮助:
mail.smtp.auth=true
<context:component-scanbase-package="com.guan.chapt er19.email"/>
</value>
<value>
}这个程序对一个email来说功能已经很全面了,您可以对其更改然后应用于您的程序中。
简单解释一下,很明显这是个html文件,留意$!{userName}实际上是一个变量,在程序运行的时候,由model(一个hashmap类型的变量)传进的值会将其替换,(model的key就是变量的名字,这里是userName,而value就是要替换的值),!表示假如没有替换的值,此处为空。更多具体信息请参考:/blog/23634
message.setText(text,true);
/schema/contexthttp: ///schema/context/spring-con text-3.0.xsd">
</property>
留意用户名和密码要换成您自己的!!
您的email地址是<ahref="mailto:${emailAddress}">$!{emailAddress}</a>.
下面是spring的配置类:
//从配置文件中读取相应的邮件配置属性
//这是一个天生Mime邮件简单工具,假如不使用GBK这个,中文会出现乱码
最后给出测试程序:
resource.loader=class
本条信息是系统自动发送,请勿回复!
<context:annotation-config/>
FileSystemResourcefile;
ThirdVelocityEmailConfig.xml
importorg.junit.Test;
<propertyname="velocityProperties">
importjava.util.Map;
</html>
importjava.util.Map;
email.password=*********
<h3>您好$!{userName},欢迎您加进编程爱好者俱乐部!</h3>
<context:property-placeholderlocation="classpath:/c om/guan/chapter19/email/email.properties"/>
模板文件:
email.username=woshiguanxinquan
</bean></beans>这个大家都熟悉,未几解释,开始的时候加载了email.properties文件,我们上面给出了,然后创建了velocityEngine的bean。
</div>
10月14日
private@Value("${email.username}")StringuserName;
message.setFrom("woshiguanxinquan@");//设置发送方地址
<div>
先是email.properties文件:
packagecom.guan.chapter19.email;
importorg.springframework.mail.javamail.JavaMailSenderIm pl;
packagecom.guan.chapter19.email;
email.host=
下面给出发送服务的源码
//留意模板中有中文要加GBK,model中存放的是要替换模板中字段的值
对于spring是否应该由类来配置,我并不关心,一般情况下,我更倾向于annotation这种形式,由于看起来比xml舒服点,但是annotation不能完全取代xml配置方式(至少现在是这样的),当然您完全可以使用xml进行bean的配置,效果是一样的。在这个配置类中,将从email.properties中读取的值赋值给了JavaMailSenderImpl,这个对象是邮件发送的主要类,使用其send方法可以将预先预备好的消息发送出往。
论坛群发 admin 邮件群发工具 这个微博营销案例标准有顺查和倒查两种功能
相关文章
邮件群发工具邮件群发工具0831203755(-12-2 18:39:21)邮件群发工具_怎样去掉邮件群发时的群发两个字邮件合并教程教会您(-11-4 16:30:18)如何使用OutlookExpress工具转发电子邮件_邮件群发工具(-10-16 14:18:38)太久未能与服务器通信请减少线程数您的上网带宽不够(-10-2 14:30:22)邮件群发smtp服务器设置_邮件群发工具(-9-21 9:10:23)手机短信群发平台主要有哪些它能提供什么样的功能_邮件群发工具(-9-17 18:48:49)前2天刚刚升级了foxmail现在是foxmail70有个问题可以给单个人发邮件但是不能群发邮件邮件群发工具(-9-15 17:23:38)冲钻免运费Emailrobot邮件群发工具V905只售5元_邮件群发工具(-9-10 18:30:54)邮件群发工具先前无意中我也试过群发工具邮件群发627184247发送到微博(-9-4 15:38:0)又是一年一度求职季回想起当初自己求职的那段日子仍然记忆犹新(-8-18 14:18:9)0 条留言
我要留言最近文章
[12/12]论坛群发工具_怎样有效增加外链谁给介绍免费的工具或者好点的方法手工发太累了 [12/12]电子商务网络营销方法素龙分校电子商务营销 [12/12]以上的方法都懂问题是工作流程不太明确怎样才会有效的拿到客户呢 [12/12]开源免费PHP论坛程序PHPWind83免费论坛群发工具下载 [12/12]以下是一些网页配色时的小技巧根据网站所要传达的讯息选择可以加强这些讯息的颜色 [12/12]请发邮箱4qqcom谢谢 [12/12]山东瑞德是什么运营商短信群发器 [12/12]我是国际贸易自考专业我想写一篇关于国际电子商务与网络营电子商务营销销问题研究的论文请问该查那些资料啊急急 [12/12]自己搞seo搞了很多年做过企业网站优化做过个人网站优化做过大型贸易网站优化 [12/12]2打开网页可以自动打开预设的网页地址并支持自动刷新可以设置刷新时间间隔和刷新次数 [12/12]新浪微博营销要提升流量需做到以下几点 [12/12]4作为企业管理者的您只要装上科艾会员之星管理软件即使走到天涯海角都可以随时通过互联网了解企业的经营情况 [12/12]短信群发软件_尚华短信群发平台 [12/12]信鸽营销_我可以很明白的告诉你现在的营销渠道很多种斐凡是完全合法的有时间你可以了解一下 [12/11]免费群发软件站群管理系统易淘站群软件免费站群系统易淘站群系最近评论
说我骗你了怎么骗你了?请... http://www.x...Copyright .芳草集产品.
如果觉得《you jian》对你有帮助,请点赞、收藏,并留下你的观点哦!