All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.weicoder.email.factory.EmailFactory Maven / Gradle / Ivy

package com.weicoder.email.factory;

import com.weicoder.common.factory.Factory;
import com.weicoder.email.Email;
import com.weicoder.email.impl.EmailApache;
import com.weicoder.email.impl.EmailJava;
import com.weicoder.email.params.EmailParams;
  

/**
 * 获得Email接口实例的工厂类 
 * @author WD  
 */
public final class EmailFactory extends Factory {
	// 工厂
	private final static EmailFactory FACTORY = new EmailFactory();

	/**
	 * 返回工厂
	 * @return 工厂
	 */
	public static Email getEmail() {
		return FACTORY.getInstance();
	}

	/**
	 * 实例化一个新的EmailUtil实例
	 * @param host smtp服务器
	 * @param from 发送Email服务器地址
	 * @param password Email服务器密码
	 * @return EmailUtil
	 */
	public static Email newEmail(String host, String from, String password) {
		return FACTORY.newInstance(host, from, password, EmailParams.AUTH, EmailParams.ENCODING);
	}

	/**
	 * 实例化一个新的EmailUtil实例
	 * @param host smtp服务器
	 * @param from 发送Email服务器地址
	 * @param password Email服务器密码
	 * @param auth 是否验证
	 * @param charset 编码格式 
	 * @return Email
	 */
	public static Email newEmail(String host, String from, String password, boolean auth, String charset) {
		return FACTORY.newInstance(host, from, password, auth, charset);
	}

	/**
	 * 实例化一个新的EmailUtil实例 所有配置都用默认设置
	 * @return EmailUtil
	 */
	public Email newInstance() {
		return newInstance(EmailParams.HOST, EmailParams.FROM, EmailParams.PASSWORD);
	}

	/**
	 * 实例化一个新的EmailUtil实例
	 * @param host smtp服务器
	 * @param from 发送Email服务器地址
	 * @param password Email服务器密码
	 * @return EmailUtil
	 */
	public Email newInstance(String host, String from, String password) {
		return newInstance(host, from, password, EmailParams.AUTH, EmailParams.ENCODING);
	}

	/**
	 * 实例化一个新的EmailUtil实例
	 * @param host smtp服务器
	 * @param from 发送Email服务器地址
	 * @param password Email服务器密码
	 * @param auth 是否验证
	 * @param charset 编码格式 
	 * @return Email
	 */
	public Email newInstance(String host, String from, String password, boolean auth, String charset) {
		// 判断使用哪个包
		switch (EmailParams.PARSE) {
			case "Apache":
				return new EmailApache(host, from, password, auth, charset);
			default:
				return new EmailJava(host, from, password, auth, charset);
		}
	}

	private EmailFactory() {}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy