html5form表单提交到QQ邮箱,javaMai+Springl实现给QQ邮箱发邮件(带附件,html格式)...

本文主要是介绍html5form表单提交到QQ邮箱,javaMai+Springl实现给QQ邮箱发邮件(带附件,html格式)...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以前的时候想着java发邮件很简单,因为当时使用的是outlook实现的,有兴趣的可以去看看之前的两篇博客文章,1.使用java底层实现邮件的发送(含测试,源码)   和 2.使用Spring实现邮件的发送(含测试,注释,源码)

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

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

第一,发给QQ邮箱与outlook不一样的是,,而outlook的则是

第二,,而Outlook的密码可以直接就是你当初设置的密码,但是在这里是QQ邮箱的授权码,所谓的授权码,就是你开启了QQ邮箱的

0fb645f9a7bd48207fe84af92a625aef.png

之后,会出来的。

第三,设置

true

true

而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里面的配置:

xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:p="http://www.springframework.org/schema/p"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">

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;

}

}

结束!!!

这篇关于html5form表单提交到QQ邮箱,javaMai+Springl实现给QQ邮箱发邮件(带附件,html格式)...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/334200

相关文章

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Spring Cloud LoadBalancer 负载均衡详解

《SpringCloudLoadBalancer负载均衡详解》本文介绍了如何在SpringCloud中使用SpringCloudLoadBalancer实现客户端负载均衡,并详细讲解了轮询策略和... 目录1. 在 idea 上运行多个服务2. 问题引入3. 负载均衡4. Spring Cloud Load

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud