这篇文章将为大家详细讲解有关利用spring框架怎么实现一个邮件发送功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
目前创新互联公司已为上1000家的企业提供了网站建设、域名、虚拟空间、网站改版维护、企业网站设计、邯郸网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
首先进入自己的QQ邮箱,在设置中修改账户信息

然后来至底部

点击开启,再用手机发送对应信息到指定号码,然后点击我已发送

获取授权码

注意提示:
到这里,相信你已经开通了SMTP服务,这样就可以在java code发送邮件了
接下来的是Spring 中使用邮件服务
首先是配置信息使用的是587端口,刚开始用465端口我纠结了好久(使用465端口的错误详情),用不了,你可以尝试,默认的25端口应该也是不适合的
//或许你可以用465端口,默认的25不适合
//这里的是你通过短信后,获取的授权码
true
25000
用maven引入的jar包
org.springframework
spring-context-support
${spring.version}
javax.mail
mail
1.4.7
下面只是一个工具类作简单例子,请勿见怪
package cn.cherish.common;
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.Properties;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.MailException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
/**
* 项目名称:springmvc_hibernate
* 类名称:MailUtil
* 类描述:
* 创建人:Cherish
* 联系方式:785427346@qq.com
* 创建时间:2016年4月22日 下午3:51:48
* @version 1.0
*/
public class MailUtil {
private static final String HOST = "smtp.qq.com";
private static final String SMTP = "smtp";
private static final String USERNAME = "785427346@qq.com";
private static final String PASSWORD = "xxxxxxxxxx";
private static final int PORT = 587;//587/465
private static final String DEFAULTENCODING = "UTF-8";
private static JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
private static Properties prop = new Properties();
static{
// 设定mail server
senderImpl.setHost(HOST);
senderImpl.setProtocol(SMTP);
senderImpl.setUsername(USERNAME);
senderImpl.setPassword(PASSWORD);
senderImpl.setPort(PORT);
senderImpl.setDefaultEncoding(DEFAULTENCODING);
// 设定properties
prop.put("mail.smtp.auth", "true");
prop.put("mail.smtp.timeout", "25000");
//设置调试模式可以在控制台查看发送过程
prop.put("mail.debug", "true");
senderImpl.setJavaMailProperties(prop);
}
public static void main(String args[]) {
// 设置收件人,寄件人 用数组发送多个邮件
// String[] array = new String[] {"88888@qq.com","666666@qq.com","999999999@qq.com",USERNAME};
String[] array = new String[] {USERNAME};
String subject = "Cherish内嵌图片、音乐的邮件";
// StringBuffer sb = new StringBuffer();
// try {
// URL url = new URL("http://www.imooc.com/");//http://android-studio.org/
//
// URLConnection conn = url.openConnection();
// InputStream is = conn.getInputStream();
//
// BufferedReader reader = new BufferedReader(new InputStreamReader(is));
//
// String string = null;
// while ((string = reader.readLine()) != null) {
// sb.append(string);
// }
//
// //System.out.println(sb.toString());
//
// } catch (Exception e) {
// e.printStackTrace();
// }
//
// boolean result = htmlMail(array, subject, sb.toString());
String filePath = "E:/javaxmail.png";
String html = ""+
""+
"
温馨提示:

这是内嵌图片的方式 javaxmail.png 要和 messageHelper.addInline(file.getFilename(), file);
这里的 file.getFilename()
相一致就可以
现在只差一步了,那就是Ctrl + F11,有不当之处敬请提出,共同进步

**
使用javax.mail发邮件代码
**
package cn.cherish.utils;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
/**
* 项目名称:springmvc_hibernate
* 类名称:EmailUtil
* 类描述:发送邮件工具类
* 创建人:Cherish
* 联系方式:785427346@qq.com
* 创建时间:2016年4月23日 上午9:48:21
* @version 1.0
*/
public class EmailUtil {
// properties配置文件地址
//private static final String PROPERTIES_PATH = "standard_data.properties";
private static Session session;
private static Properties props = new Properties();
private static final String HOST = "smtp.qq.com";
private static int PORT = 587;
private static final String isAUTH = "true";
private static final String FROM = "785427346@qq.com";
private static final String USERNAME = "785427346@qq.com";
private static final String PASSWORD = "xxxxxxxxxxxxxxxx";
private static final String TIMEOUT = "25000";
private static final String DEBUG = "true";
// 初始化session
static {
props.put("mail.smtp.host", HOST);
props.put("mail.smtp.port", PORT);
props.put("mail.smtp.auth", isAUTH);
props.put("fromer", FROM);
props.put("username", USERNAME);
props.put("password", PASSWORD);
props.put("mail.smtp.timeout", TIMEOUT);
props.put("mail.debug", DEBUG);
session = Session.getInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(USERNAME, PASSWORD);
}
});
}
public static void main(String[] args) {
try {
String html = ""+
""+
"
关于利用spring框架怎么实现一个邮件发送功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
分享文章:利用spring框架怎么实现一个邮件发送功能
当前路径:
http://wjwzjz.com/article/ghssps.html