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","测试","测试邮件服务器");
}
发送邮件demo
猜你喜欢
转载自blog.csdn.net/u013045878/article/details/81103542
今日推荐
周排行