发送邮件demo

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.SimpleEmail;
import org.apache.http.HttpHost;
import org.apache.http.client.config.RequestConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;

/**
 * @author pinke
 * @since 2016-04-26.
 */
@Component
public class MessageSender implements InitializingBean {

	private static RequestConfig config;
	private static boolean httpProxySet = false;
	private static String httpProxyHost;
	private static int httpProxyPort = 0;
	private static String host = "******";
	private static String user ="******";
	private static String password = "******";
	private static String from="[email protected]";
	private static String fromName = "【******】";
	private static int port = 25;
	private static boolean ssl = false;
	private static String msgSwitch = "1" ;//短信发送开关.1发送,0不发送
	private static int timeout = 6000;

	private static final Logger logger = LoggerFactory.getLogger(MessageSender.class);

	public static void sendEmail(String to, String subject, String message) throws EmailException {
		if(StringUtils.isEmpty(to) || StringUtils.isEmpty(subject) || StringUtils.isEmpty(message)){
			logger.error(String.format("发送邮件失败,邮箱地址:%s*******主题:%s*******消息:%s",to,subject,message));
			return;
		}
		try{
			SimpleEmail email = new SimpleEmail();
			email.setHostName(host); // 发送服务器
			email.setSocketTimeout(timeout);
			email.setSocketConnectionTimeout(timeout);
			email.setAuthentication(user, password); // 发送邮件的用户名和密码
			email.addTo(to); // 接收邮箱
			email.setFrom(from, fromName); // 发送邮箱
			email.setSubject(subject);// 主题
			email.setMsg(message); // 内容
			email.setSmtpPort(port); // 端口
			email.setSSL(ssl); // gmail需要设置SSL安全设置
			email.setCharset("UTF-8"); // 编码
			email.send();
		}catch (Exception ex){
			logger.error(String.format("发送邮件失败,邮箱地址:%s*******主题:%s*******消息:%s",to,subject,message),ex);
		}
	}

	public static void sendHtmlEmail(String to, String subject, String htmlMessage) throws EmailException {
		HtmlEmail email = new HtmlEmail();
		email.setSocketTimeout(timeout);
		email.setSocketConnectionTimeout(timeout);
		email.setHostName(host); // 发送服务器
		email.setAuthentication(user, password); // 发送邮件的用户名和密码
		email.addTo(to); // 接收邮箱
		email.setFrom(from, fromName); // 发送邮箱
		email.setSubject(subject);// 主题
		email.setMsg(htmlMessage); // 内容
		email.setSmtpPort(port); // 端口
		email.setSSL(ssl); // gmail需要设置SSL安全设置
		email.setCharset("UTF-8"); // 编码
		email.send();
	}

	@Override
	public  void afterPropertiesSet() throws Exception {
		RequestConfig.Builder builder = RequestConfig.custom();
		if (httpProxySet) {
			HttpHost proxy = new HttpHost(httpProxyHost, httpProxyPort);
			builder.setProxy(proxy);
		}
		config = builder.setConnectTimeout(timeout).setSocketTimeout(timeout).setConnectionRequestTimeout(timeout)
				.build();
	}

	public static void main(String[] args) throws EmailException {
		sendEmail("******@qq.com","测试","测试邮件服务器");
	}

猜你喜欢

转载自blog.csdn.net/u013045878/article/details/81103542
今日推荐