发送邮件
/**
* @Comments:发送邮件
* @param: map(type用什么邮箱发的,mailUser用户名,passWord密码,ToMail收件人,CCMail抄送,title标题,contents内容)
* @return: boolean
*/
public static boolean toMail(Map<String, String> mapSent){
String host="";
boolean boo = false;
try {
//默认邮箱类型,发件人,密码/授权码(qq)
mapSent.put("type",mapSent.get("type")!=null?mapSent.get("type"):"qq");
final String mailUser = mapSent.get("mailUser")!=null?mapSent.get("mailUser"):"xx@qq.com";
final String passWord = mapSent.get("passWord")!=null?mapSent.get("passWord"):"xx";
Properties props = new Properties();//配置发送邮件的环境属性
if(mapSent.get("type") == "qq" || mapSent.get("type").equals("qq")){//用qq邮箱发送邮件
host = "smtp.qq.com";
props.put("mail.smtp.port","465");
props.put("mail.smtp.starttls.enable","true" );
props.put("mail.smtp.socketFactory.port","465");
props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback","false");
props.setProperty("mail.imap.socketFactory.class","javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.imap.socketFactory.fallback","false");
props.setProperty("mail.imap.port","993");
props.setProperty("mail.imap.socketFactory.port","993");
}else if(mapSent.get("type") == "163" || mapSent.get("type").equals("163")){
host = "smtp.163.com";
props.put("mail.smtp.port", "25");
}else if(mapSent.get("type") == "139" || mapSent.get("type").equals("139")){
host = "smtp.139.com";
}
props.put("mail.smtp.host",host);
props.put("mail.smtp.auth", "true");
Authenticator auth = new Authenticator(){
@Override
protected PasswordAuthentication getPasswordAuthentication(){//用户名、密码
return new PasswordAuthentication(mailUser, passWord);
}
};
Session session = Session.getInstance(props, auth);//使用环境属性和授权信息,创建邮件会话
session.setDebug(true);
MimeMessage message = new MimeMessage(session);//创建邮件消息
Address addressFrom = new InternetAddress(mailUser);
message.setFrom(addressFrom);//设置发件人
if(null != mapSent.get("ToMail") && "" != mapSent.get("ToMail"))
message.addRecipient(Message.RecipientType.TO,new InternetAddress(mapSent.get("ToMail")));//设置收件人
else
throw new Exception("ToMail is not null");
if(null != mapSent.get("CCMail") && "" != mapSent.get("CCMail"))//有则抄送
message.setRecipient(RecipientType.CC,new InternetAddress(mapSent.get("CCMail")));//设置抄送
message.setSubject(mapSent.get("title")); //邮件标题
message.setText(mapSent.get("contents")); //内容
message.saveChanges();
//Transport transport = session.getTransport("smtp");
//transport.connect(host,mailUser,passWord);
//transport.send(message);//发送邮件
//transport.close();
Transport.send(message);//发送邮件
boo = true;
} catch (Exception e) {
toThExCla(e, "Constant");//自定义抛出异常格式(忽略)
}
return boo;
}

浙公网安备 33010602011771号