当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

java发送email

发表于: 2011-09-13   作者:g21121   来源:转载   浏览:
摘要: 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.Messa
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

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
package com.hzk.mail; import java.net.MalformedURLException; import java.net.URL; import java
这是一个发送email的简单示例。非常简单,主要注意以下两点: 注意事项 1.搜到原有的javaee.jar,删
项目源码下载:http://download.csdn.net/detail/liangrui1988/6720047 效果图: 相关代码: test1 pac
项目源码下载:http://download.csdn.net/detail/liangrui1988/6720047 效果图: 相关代码: test1 pac
方法一:发送单个附件(正文乱码) mutt -s "mail subject" -a output_email.html -- tomail@163.co
方法一:简单邮件发送 echo 'hello world' | mail -s "Subject" -t yanggang@ithomer.com,yanggang_
方法一:简单邮件发送 echo “hello world" | mail -s "Subject" yanggang_2050@163.com 效果截图
方法一:发送单个附件(正文乱码) mutt -s "mail subject" -a output_email.html -- tomail@163.co
方法一:简单邮件发送 echo “hello world" | mail -s "Subject" yanggang_2050@163.com 效果截图
方法一:发送单个附件(正文乱码) mutt -s "mail subject" -a output_email.html -- tomail@163.co
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号