您的位置:首页 > 编程语言 > Java开发

使用JavaMail连接带有TLS的SMTP

2015-08-08 10:56 429 查看
http://blog.sina.com.cn/s/blog_5595d514010005qj.html

import javax.mail.Authenticator;

import javax.mail.Message;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

public class SendMailBySMTP {

String d_email = "ranxiaos@cn.ibm.com";

String d_password = "email2read";

String d_host = "smtp.sendgrid.net";

String d_port = "587";

String m_to = "jichenw@cn.ibm.com";

String m_subject = "Testing";

String m_text = "Hey, this is the testing email from spie test email.";

public SendMailBySMTP() {

Properties props = new Properties();

props.put("mail.smtp.user", d_email);

props.put("mail.smtp.host", d_host);

props.put("mail.smtp.port", d_port);

props.put("mail.smtp.starttls.enable", "true");

props.put("mail.smtp.auth", "true");

// props.put("mail.smtp.debug", "true");

// props.put("mail.smtp.socketFactory.port", d_port);

// props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

// props.put("mail.smtp.socketFactory.fallback", "false");

SecurityManager security = System.getSecurityManager();

try {

Authenticator auth = new SMTPAuthenticator();

Session session = Session.getInstance(props, auth);

// session.setDebug(true);

MimeMessage msg = new MimeMessage(session);

msg.setText(m_text);

msg.setSubject(m_subject);

msg.setFrom(new InternetAddress(d_email));

msg.addRecipient(Message.RecipientType.TO, new InternetAddress(m_to));

Transport.send(msg);

} catch (Exception mex) {

mex.printStackTrace();

}

}

public static void main(String[] args) {

SendMailBySMTP blah = new SendMailBySMTP();

}

private class SMTPAuthenticator extends javax.mail.Authenticator {

public PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(d_email, d_password);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: