`
g21121
  • 浏览: 694797 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java发送email

    博客分类:
  • java
 
阅读更多
package com.net263.ccs.util;

import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.Properties;
import java.util.regex.Pattern;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import org.springframework.util.StringUtils;

/**
 * 
 * 类描述:email工具
 * 
 * @author liming
 * @time 2011-7-19 下午02:51:56
 */
public class EmailUtils {

	private static Properties p;
	private static String formAddress;
	private static String host;
	private static String userName;
	private static String userPasswd;
	private static String serverType;

	static {
		InputStream is = EmailUtils.class.getClassLoader().getResourceAsStream("email.properties");
		p = new Properties();
		try {
			if (is != null) {
				p.load(is);
				formAddress = p.getProperty("mail.from.address");
				host = p.getProperty("mail.smtp.host");
				userName = p.getProperty("mail.user.name");
				userPasswd = p.getProperty("mail.user.pass");
				serverType = p.getProperty("mail.transport.protocol");
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 
	 * 方法描述:发送邮件
	 * 
	 * @author liming
	 * @time 2011-7-19 下午03:45:08
	 * 
	 * @param title
	 * @param context
	 * @param emails
	 */
	public static void sendEmail(String title, String context, String[] emails) {

		try {
			if (emails != null && emails.length > 0) {
				if (p != null) {
					// 建立会话
					Session session = Session.getInstance(p);
					Message msg = new MimeMessage(session); // 建立信息
					msg.setFrom(new InternetAddress(formAddress)); // 发件人
					msg.setSentDate(new Date()); // 发送日期
					msg.setContent(context, "text/html; charset=utf-8"); 
					msg.setSubject(title); // 主题
					for (String add : emails) {
						if (isEmailAddress(add)) {
							msg.setRecipient(Message.RecipientType.TO, new InternetAddress(add)); // 收件人
							// 邮件服务器进行验证
							Transport tran = session.getTransport(serverType);
							tran.connect(host, userName, userPasswd);
							tran.sendMessage(msg, msg.getAllRecipients()); // 发送邮件
						}
					}
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 
	 * 方法描述:判断是否为邮件地址
	 * 
	 * @author liming
	 * @time 2011-8-23 下午01:58:31
	 * 
	 * @param email
	 * @return
	 */
	public static boolean isEmailAddress(String email) {
		Pattern emailer = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
		if (!StringUtils.hasText(email))
			return false;
		email = email.toLowerCase();
		if (email.endsWith(".con"))
			return false;
		if (email.endsWith(".cm"))
			return false;
		if (email.endsWith("@gmial.com"))
			return false;
		if (email.endsWith("@gamil.com"))
			return false;
		if (email.endsWith("@gmai.com"))
			return false;
		return emailer.matcher(email).matches();
	}

}

 

 

分享到:
评论

相关推荐

    java发送email超级大封装

    我发现网络中的关于java发送email的文章很多没有给全包,我下了三次才下全,现在我整理全了发给大家。所以我的项目所用的包都很常见。如果你在拷包时,发现报告重复,那么就不要拷了,说明你的系统中有此包。

    Java发送email:spring email、微软ews

    本篇文章将深入探讨如何使用Java结合Spring框架和微软的Exchange Web Services (EWS)来发送电子邮件。 首先,让我们从Spring Email说起。Spring Framework提供了`spring-context-support`模块,其中包含了一个Email...

    java发送email邮件.

    demo介绍:http://blog.csdn.net/love_xiolan/article/details/56016576 java发送email邮件 1.发送普通email邮件 2.发送带附件的email邮件 3.邮件抄送和密送 4.发送html邮件 5.发送模板文件

    java发送Email_群发email.rar

    这个名为"java发送Email_群发email.rar"的压缩包文件很可能包含了关于如何使用Java进行邮件发送,特别是群发邮件的相关教程或代码示例。 在Java中,发送电子邮件主要依赖于JavaMail API。这是一个强大的库,它提供...

    java 发送Email 需要的包

    总的来说,`activation-1.1.jar`、`mail-1.4.jar`和`commons-email-1.2.jar`这三个库是Java应用程序发送电子邮件的基础。它们提供了处理MIME类型、连接邮件服务器以及构建和发送邮件所需的所有功能,极大地简化了...

    使用java发送Email

    ### 使用Java发送Email 在Java开发中,电子邮件(Email)是一种常见的通信手段,尤其是在系统通知、用户注册验证等场景中非常实用。本文将详细介绍如何利用Java编写程序来发送Email。 #### 一、所需库及配置 为了...

    [总结]Java发送Email

    本文将深入探讨如何使用Java发送Email,并基于给出的标签和压缩包文件来解析相关知识点。 首先,标题 "[总结]Java发送Email" 暗示我们将讨论Java中的邮件API以及其使用方法。在Java中,发送邮件主要依赖于JavaMail ...

    java发送Email邮件

    本文将详细讲解如何使用Java发送Email邮件,包括必要的库、步骤和关键概念。 首先,发送电子邮件需要用到JavaMail API,这是一个Java库,提供了一组接口和类来处理SMTP(简单邮件传输协议)和其他邮件协议。...

    通过Java发送Email ,简单入门。

    本篇文章将引导你入门如何使用Java发送Email,通过一个简单的实例来展示具体步骤。 首先,我们需要导入JavaMail API库,它提供了发送邮件所需的所有功能。在你的`pom.xml`(如果你使用的是Maven)或者`build.gradle...

    Java 发送 Email

    Java发送Email是一个常见的任务,尤其在企业级应用中,用于通知、验证或提供服务更新。在Struts2这个流行的Java Web框架中集成邮件发送功能,可以让应用程序自动化处理这些通信需求。下面将详细介绍如何在Struts2...

    java发送email依赖jar包

    以下是一个简单的Java发送邮件的示例,演示如何使用这三个jar包: ```java import org.apache.commons.mail.*; public class EmailSender { public static void main(String[] args) { SimpleEmail email = new ...

    java 发送email demo

    本文将详细讲解如何使用Java发送带有附件、抄送和密送功能的电子邮件,基于提供的"sendMail"文件名,我们可以推测这是一个包含示例代码的程序。 首先,Java Mail API是实现邮件发送功能的核心库。你需要引入以下...

    java发送email(HOT)本人测试过了, 带原码

    本人写的java发送Email类 可发三类Email: 1. 含有文本的 2. 含有HTML标签的 3. 带有附件的 如有问题Q我或Email QQ:13697654 Email:jiaoer840214@163.com ######### 一起学习,一起成长 ############

    java发送Email

    java发送Email的小程序,已经测试,简单实用,希望对大家有帮助。

    java发送Email示例.rar

    Java发送电子邮件是一个常见的任务,尤其在自动化通知、系统间通信或者用户验证等场景下。本示例代码将向您展示如何使用Java实现这一功能。在Java中,我们主要依赖JavaMail API来处理邮件的发送。 JavaMail API是...

    java发送Email的成功例子

    NULL 博文链接:https://zhaoshijie.iteye.com/blog/804332

    java发送email举例

    Java发送电子邮件是一个常见的任务,尤其在自动化通知、订阅服务或者数据传输等方面。在这个例子中,我们看到一个关于如何使用Java发送电子邮件的实例。关键依赖是一个名为`mail-1.4.7.jar`的库,它是JavaMail API的...

    java 发送email 邮件

    本教程将深入探讨如何使用Java发送带有附件、支持多接收者且解决乱码问题的电子邮件。 首先,我们需要导入JavaMail API,这是一个用于处理电子邮件的开放源代码库。在Java项目中,可以通过以下Maven依赖引入: ```...

Global site tag (gtag.js) - Google Analytics