博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javaMai+Springl实现给QQ邮箱发邮件(带附件,html格式)
阅读量:6330 次
发布时间:2019-06-22

本文共 3069 字,大约阅读时间需要 10 分钟。

       以前的时候想着java发邮件很简单,因为当时使用的是outlook实现的,有兴趣的可以去看看之前的两篇博客文章,1   和 2.  

就在今天,遇到的需求是给一个QQ邮箱发一份邮件,刚看到需求一看,这不很简单么,随便改改就行了。

        于是我花了15分钟写出来全部代码,但是花了2小时解决了代码的bug.........自己都有点佩服了!下面我来说说我的bug是怎么遇到的和怎么解决的。

       第一,发给QQ邮箱与outlook不一样的是,<property name="host" value="smtp.qq.com"></property>,而outlook的则是<property name="host" value="mail.com"></property>

      第二,<property name="password" value="***********"></property>,而Outlook的密码可以直接就是你当初设置的密码,但是在这里是QQ邮箱的授权码,所谓的授权码,就是你开启了QQ邮箱的

之后,会出来的。

     第三,设置

<property name="javaMailProperties">

            <props>
                <prop key="mail.smtp.auth">true</prop>
                <prop key="mail.smtp.ssl.enable">true</prop>
            </props>
</property>

而outlook可以没有他,直接就可以。QQ邮箱的绝对不行,就这句话折腾了我好久,这句话的意思就是SSL加密。

   第四,这个与outlook一样,添加附件是不能添加文件夹的!不能添加文件夹的不能添加文件夹的!!!一定要记住,别自作聪明的找方法,比如像我一样吧JavaMail里面的Folder抽象类里面的方法挨个试了试。。。。。没有半点用,还浪费了好多时间,你要想添加多个附件的话你丫的可以打包啊,我当初怎么就没有想到呢,只要有个后缀名就可以添加,打包成.zip  或者  .rar 都可以,调用的类是:

FileDataSource file1 = new FileDataSource(new File("E:\\Edisk\\java\\springDemo.rar"));

            helper.addAttachment(file1.getName(), file1);

接下来我上一下源码吧:

applicationContext.xml里面的配置:

true
true
MailServiceImpl实现类里面的代码:

/**  * @Title: MailServiceImpl.java* @Package org.service.impl* @Description: TODO该方法的主要作用:* @author A18ccms A18ccms_gmail_com  * @date 2017-6-1 下午12:17:11* @version V1.0  */package org.service.impl;import java.io.File;import javax.activation.FileDataSource;import javax.mail.Folder;import javax.mail.MessagingException;import javax.mail.Store;import javax.mail.internet.MimeMessage;import org.service.IMailService;import org.springframework.mail.javamail.JavaMailSender;import org.springframework.mail.javamail.MimeMessageHelper; /**    *     * 项目名称:spring_Cchop8    * 类名称:MailServiceImpl    * 类描述:    * 创建人:Mu Xiongxiong   * 创建时间:2017-6-1 下午12:17:11    * 修改人:Mu Xiongxiong    * 修改时间:2017-6-1 下午12:17:11    * 修改备注:    * @version     *     */public class MailServiceImpl implements IMailService {	private JavaMailSender javaMailSender;		/**(非 Javadoc)	 * 

Title: sendMail

*

Description(描述):

* @see org.service.IMailService#sendMail() */ @Override public void sendMail() { //发送带格式的邮件 MimeMessage message = javaMailSender.createMimeMessage(); try { MimeMessageHelper helper = new MimeMessageHelper(message,true,"utf-8"); helper.setFrom("2451999120@qq.com"); helper.setTo("1513614984@qq.com"); helper.setSubject("穆雄雄"); helper.setText("》》》这是原来的字体 》》》这是加粗的字体 >>>这个是链接 点击进入",true); //内容 //添加一个附件 FileDataSource file1 = new FileDataSource(new File("E:\\Edisk\\java\\spring_Cchop8.rar")); helper.addAttachment(file1.getName(), file1); } catch (MessagingException e) { // TODO 异常执行块! e.printStackTrace(); } javaMailSender.send(message); } public JavaMailSender getJavaMailSender() { return javaMailSender; } public void setJavaMailSender(JavaMailSender javaMailSender) { this.javaMailSender = javaMailSender; }}
结束!!!

转载于:https://www.cnblogs.com/a1111/p/7459675.html

你可能感兴趣的文章
巧用AJAX技术,通过updatePanel控件实现局部刷新
查看>>
20140420技术交流活动总结
查看>>
SaltStack配置salt-api
查看>>
各种情况下block的类型
查看>>
ThinkPHP 3.2.x 集成极光推送指北
查看>>
MYSQL 表情评论存储(emoji)
查看>>
js作用域链
查看>>
java中如何选择Collection Class--java线程(第3版)
查看>>
为运维人员插上腾飞更远的翅膀!
查看>>
Word 2003中编辑标记与格式标记大讨论
查看>>
从国内向海外转移域名经验谈
查看>>
浅谈apache与tomact的整合
查看>>
SQL Server vNext CTP1 on Linux
查看>>
1-为 Lync Server 2010 准备 Active Directory 域服务
查看>>
SELinux安全
查看>>
NetBackup下ORACLE恢复测试方案实例解析
查看>>
【有奖征文】“失业”程序员的苦辣酸甜
查看>>
IE9是如何被FireFox4超越全球市场份额的?
查看>>
linux bunzip2命令
查看>>
敏捷个人:通过实践TOGAF来思考如何学习并应用新的方法?
查看>>