package com.sohu.cache.web.component;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.sohu.cache.util.ConstUtils;
import com.sohu.cache.web.util.HttpRequestUtil;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 邮件服务
* @author leifu
* @Date 2015-6-2
* @Time 上午10:56:35
*/
public class EmailComponentImpl implements EmailComponent {
private final Logger logger = LoggerFactory.getLogger(EmailComponentImpl.class);
private String adminEmail = ConstUtils.EMAILS;
@Override
public boolean sendMailToAdmin(String title, String content) {
return sendMail(title, content, Arrays.asList(adminEmail));
}
@Override
public boolean sendMail(String title, String content, List<String> emailList) {
return sendMail(title, content, emailList, null);
}
@Override
public boolean sendMail(String title, String content, List<String> emailList, List<String> ccList) {
String alertUrl = ConstUtils.EMAIL_ALERT_INTERFACE;
if (StringUtils.isBlank(alertUrl)) {
logger.error("emailAlertInterface url is empty!");
return false;
}
try {
String charSet = "UTF-8";
Map<String, String> postMap = new HashMap<String, String>();
postMap.put("title", title);
postMap.put("content", content);
postMap.put("receiver", StringUtils.join(emailList, ","));
if(ccList != null && ccList.size() > 0){
postMap.put("cc", StringUtils.join(ccList, ","));
}
String responseStr = HttpRequestUtil.doPost(alertUrl, postMap, charSet);
if (responseStr == null) {
logger.error("发送邮件失败 : url:{}", alertUrl);
}
return true;
} catch (Exception e) {
logger.error(e.getMessage(), e);
return false;
}
}
public void setAdminEmail(String adminEmail) {
this.adminEmail = adminEmail;
}
@Override
public String getAdminEmail() {
return adminEmail;
}
}