Java发送Email—使用org.apache.commons.mail

  上篇文章介绍了自己手动的实现发送普通Email、HTML类型的Email以及带附件的Email。其实apache的commons项目下有个email子项目,它对JavaMail API进行了封装,用起来特变方便。下面就简单介绍。

1.    首先配置需要的jar包

  需要将mail.jar和commons-email.jar添加到我们的CLASSPATH中即可,如下图:

  

2.    发送普通邮件

/**
 * 用org.apache.commons.mail发送普通邮件
 *
 * @author wangzhipeng
 *
 */
public class TestCommon {
	public TestCommon() {
	}

	public static void main(String[] args) {
		SimpleEmail email = new SimpleEmail();
		email.setHostName("smtp.qq.com");// 设置使用发电子邮件的邮件服务器,这里以qq邮箱为例(其它例如:【smtp.163.com】,【smtp.sohu.com】)
		try {
			// 收件人邮箱
			email.addTo("[email protected]");
			// 邮箱服务器身份验证
			email.setAuthentication("你的邮箱地址", "你的邮箱密码");
			// 发件人邮箱
			email.setFrom("你的邮箱地址");
			// 邮件主题
			email.setSubject("zhipeng-JavaMail");
			// 邮件内容
			email.setMsg("Kobe Bryante Never Stop Trying");
			// 发送邮件
			email.send();
		} catch (EmailException ex) {
			ex.printStackTrace();
		}
	}
}

3.    发送HTML类型邮件

/**
 * 用org.apache.commons.mail发送HTML邮件
 *
 * @author wangzhipeng
 *
 */
public class TestCommonHTML {
	public TestCommonHTML() {
	}

	public static void main(String[] args) {
		// 不要使用SimpleEmail,会出现乱码问题
		HtmlEmail email = new HtmlEmail();
		// SimpleEmail email = new SimpleEmail();
		try {
			// 这里是SMTP发送服务器的名字:qq的如下:
			email.setHostName("smtp.qq.com");
			// 字符编码集的设置
			email.setCharset("gbk");
			// 收件人的邮箱
			email.addTo("你的邮箱地址");
			// 发送人的邮箱
			email.setFrom("[email protected]", "wangzhipeng");
			// 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码
			email.setAuthentication("你的邮箱地址", "你的邮箱密码");
			email.setSubject("下午3:00会议室讨论,请准时参加");
			// 要发送的信息,由于使用了HtmlEmail,可以在邮件内容中使用HTML标签
			email.setMsg("<h1 style='color:red'>下午3:00会议室讨论</h1>" + " 请准时参加!");
			// 发送
			email.send();

			System.out.println("邮件发送成功!");
		} catch (EmailException e) {
			e.printStackTrace();
			System.out.println("邮件发送失败!");
		}

	}
}

结果如下:

时间: 2024-10-05 04:24:16

Java发送Email—使用org.apache.commons.mail的相关文章

java 发送 Email

private static void sendMail(String mail, String mailContext) { try { String context = FileUtil.getFileContent("lostpassEmail.html"); HtmlEmail email = new HtmlEmail(); email.setHostName("smtp.163.com"); email.setSmtpPort(25); email.se

java发送email

package com.assess.util; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Message; import javax.mail.Se

Java 文件上传组件 Apache Commons FileUpload 应用指南(转)

在最初的 http 协议中,没有上传文件方面的功能.RFC1867("Form-based File Upload in HTML".)为 http 协议添加了这个功能.客户端的浏览器,如 Microsoft IE, Mozila, Opera 等,按照此规范将用户指定的文件发送到服务器.服务器端的网页程序,如 php, asp, jsp 等,可以按照此规范,解析出用户发送来的文件. 2.1客户端 简单来说,RFC1867规范要求http协议增加了file类型的input标签,用于浏览

Java加密工具类(依赖:java.security.MessageDigest或org.apache.commons.codec.digest.DigestUtils)

依赖于java.security.MessageDigest,支持MD5,SHA-1,SHA-256 1 import java.security.MessageDigest; 2 import java.security.NoSuchAlgorithmException; 3 4 /** 5 * CiphertextUtil 6 * 7 * @author ysj 8 */ 9 public class CiphertextUtil { 10 public static final Strin

java发送email文件

1. 加入jar包 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.5.0-b01</version> </dependency> 2.编码如下: 方式1: import java.util.Date; import java.util.Properties; import javax.mai

java发送email(含代理方式,ssl方式,传统方式)

package spring.vhostall.com; import java.security.Security; import java.util.Date; import java.util.Properties; import javax.mail.Address; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.

关于java发送email案例

1.先创建一个Email所用到的信息类: package com.tan.test; import java.util.Properties; /** * 功能:邮箱信息类 * @author TanZi * @time 2015-4-20上午10:35:47 */ public class MailSenderInfo { //发送邮件的服务器验证需要的信息 private String mailServerHost; //服务器的IP地址 private String mailServerP

java编程之:org.apache.commons.lang3.text.StrTokenizer

第一个api测试:按特殊符号进行分词,并遍历每一个分词部分 1 public static void main(String[] args) { 2 String aString="AB-CD-EF-GH-IJ-KL-MN-OP-QR-ST-UV-WX-YZ"; 3 StrTokenizer strTokenizer=new StrTokenizer(aString, "-"); 4 while(true){ 5 System.out.println("P

Java多层目录打包和解压代码(apache commons compress, io, lang)

Java多层目录打包和解压代码(apache commons compress, io, lang) package zip;   import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.Fil