文档章节

java实现邮件发送

wagnqi0321
 wagnqi0321
发布于 2017/05/20 00:13
字数 235
阅读 12
收藏 0
点赞 0
评论 0
package com.moli.common.utils;

import java.util.Properties;

import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Multipart;
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.MimeMultipart;

import com.moli.common.config.PropertiesUtil;
import com.sun.mail.util.MailSSLSocketFactory;
/**
 * 
 *发送邮件
 *
 */
public class SendmailUtil {
    /**
     * 发送邮件
     * 
     */
    public static void sendHtmlEmail(String title, String content,String tofrom) {
    	String whousername=PropertiesUtil.getConfig("mail_account");
    	String auth=PropertiesUtil.getConfig("mail_passwd");
    	Properties props = new Properties();
	    // 开启debug调试
	    props.setProperty("mail.debug", "true");
	    // 发送服务器需要身份验证
	    props.setProperty("mail.smtp.auth", "true");
	    // 设置邮件服务器主机名
	    props.setProperty("mail.host", "smtp.qq.com");
	    // 发送邮件协议名称
	    props.setProperty("mail.transport.protocol", "smtp");
	    try {
	    	MailSSLSocketFactory sf = new MailSSLSocketFactory();
	    	sf.setTrustAllHosts(true);
	    	props.put("mail.smtp.ssl.enable", "true");
	    	props.put("mail.smtp.ssl.socketFactory", sf);
	    	Session session = Session.getInstance(props);
	    	
	    	Message msg = new MimeMessage(session);

	    	//MimeMultipart类是一个容器类,包含MimeBodyPart类型的对象  
            Multipart mainPart = new MimeMultipart();  
            MimeBodyPart messageBodyPart = new MimeBodyPart();//创建一个包含HTML内容的MimeBodyPart  
            //设置HTML内容  
            messageBodyPart.setContent(content,"text/html; charset=utf-8");  
            mainPart.addBodyPart(messageBodyPart);
            
            msg.setSubject(title);
            msg.setContent(mainPart);
	    	msg.setFrom(new InternetAddress(whousername));
	    	Transport transport = session.getTransport();
//	    	transport.connect("smtp.exmail.qq.com", whousername, auth);
	    	transport.connect("smtp.exmail.qq.com", whousername, auth);
			transport.sendMessage(msg, new Address[] {new InternetAddress(tofrom)});
			transport.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
    }
 
    public static void main(String[] args) {
        SendmailUtil se = new SendmailUtil();
        SendmailUtil.sendHtmlEmail("技术测试", "技术测试", "2392249802@qq.com");
    }
    
}

 

© 著作权归作者所有

共有 人打赏支持
wagnqi0321
粉丝 0
博文 15
码字总数 8077
作品 0
昌平
程序员
Jenkins 教程(一)实现自动化打包及邮件通知

个人不喜欢装腔作势一堆专业术语放上去,让大多数人看不懂来提升逼格(所谓的专家),所以我简单的介绍jenkins是干啥的。本文使用jenkins,就是让它把git仓库里的东西取出来,然后在jenkins容器...

FantJ
05/26
0
0
commons-email发邮件

记得曾经学习用javamail发邮件,学了2天,大概搞明白了利用javamail发邮件的方法和注意事项。 这周末在网上闲逛时,发现了另外一个发邮件的好东东。 commons-email-1.1.jar: 这是Apache组织下...

enzozhong
2013/02/14
0
0
[手记]使用java Mail发送邮件.

因为项目中要用到这个功能,写出来了.所以和大家分享一下.首先,完成javamail发送电子邮件,需要到oracle网站上下载javamail的jar包:地址为:http://www.oracle.com/technetwork/java/javamail...

被风遗忘
2012/05/06
0
0
Java Apache 开源项目简介

Apache Commons Apache Commons是Apache的一个开源项目,主要致力于各种可重用的Java组件。主要由以下三部分构成: - 一个可重用的Java组件库(已经开发完的项目,一般我们导入相关包就可以使...

wangxigui
2014/08/01
0
0
Yammer从Scala转向Java

近日,由Yammer雇员Coda Hale发给Typesafe的Scala商业管理层的邮件通过YCombinator被泄漏出来并在GitHub上刊出。该邮件确认Yammer正在将其基础设施栈从Scala迁回至Java,原因在于Scala的复杂...

山海经
2013/08/25
0
0
从分析async-profiler的实现细节来学习jvmti

作者: 一字马胡 转载标志 【2017-12-22】 更新日志 厉害的内容分享 在上一篇文章中分享了一个用于分析java应用性能的厉害角色:async-profiler,具体的内容可以参考Java应用性能分析工具:a...

疼丸李白
2017/12/22
0
0
JVM 发生GC时的事件通知的机制

如果您还在用Java 6的话,请赶紧升级到Java 7吧。 以下以Java 7为基准来讨论。 ============================================================== 在Java 7里有两种办法来监听GC事件。 一种是...

Sub
2013/08/14
0
0
【科普】JavaEE的核心技术

java的大方向就是JavaEE,JavaEE不仅仅是socket编程,具体包括13种核心技术。 JAVAEE的核心API与组件 JAVAEE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于W...

花的鱼
06/26
0
0
Spring中属性文件properties的读取与使用

实际项目中,通常将一些可配置的定制信息放到属性文件中(如数据库连接信息,邮件发送配置信息等),便于统一配置管理。例中将需配置的属性信息放在属性文件/WEB-INF/configInfo.properties中...

java-苦苦甜甜
2013/07/17
0
0
讨论 Smart Framework 2.0 功能特性

本文是《轻量级 Java Web 框架架构设计》的系列博文。 相信大家经过前面的讨论,已经对 Smart Framework 有所感觉了。它是一个轻量级 Java Web 框架,服务端发布基于 REST 风格的服务接口,客...

黄勇
2013/10/16
0
9

没有更多内容

加载失败,请刷新页面

加载更多

下一页

eclipse SVN 项目重新定位

SVN 重新定位 1.方法一 首先:在Eclipse中选择Windows-> Show View->others 就会出现【SVN资源库/SVN Repositories】,选中后,点击确认; 然后:选中原有的地址,选择【重新定位/Relocate】...

qimh
10分钟前
0
0
Linux 第29课 ——Linux集群架构(下)

Linux集群架构(下) 八、DR模式搭建 8.1 准备工作 试验需求三台机器: 分发器,也叫调度器(简写为dir) 192.168.112.136 ying01 rs1 192.168.112.138 ying02 rs2 192.168.112.139 ying03 vip...

feng-01
15分钟前
0
0
轻松搭建svn版本管理工具+svnmanager管理客户端

前面的文章有写过svn版本管理工具的安装是基于svn的安装包进行安装,对于svn与apache的结合还得下svn和apache的模块进行结合过程比较繁琐,今天来介绍下通过centos的yum来安装svn能够快速安装...

javazyw
24分钟前
0
0
keepalived配置高可用集群

Linux集群概述 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 实现高可用的开源软件有:...

TaoXu
30分钟前
0
0
mysql联表批处理操作

1 概述 mysql中的单表增删改查操作,可以说是基本中的基本. 实际工作中,常常会遇到一些基本用法难以处理的数据操作,譬如遇到主从表甚至多级关联表的情况(如一些历史问题数据的批量处理),考虑到...

社哥
33分钟前
0
0
IntelliJ IDEA 详细图解最常用的配置,适合刚刚用的新人。

刚刚使用IntelliJ IDEA 编辑器的时候,会有很多设置,会方便以后的开发,磨刀不误砍柴工。 比如:设置文件字体大小,代码自动完成提示,版本管理,本地代码历史,自动导入包,修改注释,修改...

kim_o
47分钟前
0
0
Google Java编程风格指南

目录 前言 源文件基础 源文件结构 格式 命名约定 编程实践 Javadoc 后记 前言 这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合...

niithub
49分钟前
0
0
java.net.MalformedURLException异常说明

1.异常片段 Java代码中,在进行URL url = new URL(urllink)操作时,提示以下异常信息,该类异常主要问题出在参数urllink上面。 异常片段1 java.net.MalformedURLException at java.ne...

lqlm
50分钟前
1
0
CentOS7修改mysql5.6字符集

解决办法:CentOS7下修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家所需要的字符集,是国际编码。 具体操作如下: 1.进入MySQL [root@tianqi-01 ~]# mysql -uroot -p Enter passw...

河图再现
51分钟前
0
0
DevExpress v18.1新版亮点——WPF篇(一)

用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容。本文将介绍了DevExpress WPF v18.1 的新功能,快来下载试用新版本!点击下载>> Accordion Co...

Miss_Hello_World
54分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部