使用javamail发SMTPS邮件,javamailsmtps邮件,Java通常情况下都不会
分享于 点击 15744 次 点评:30
使用javamail发SMTPS邮件,javamailsmtps邮件,Java通常情况下都不会
Java
通常情况下都不会对smtp发邮件加密,但是gmail做了加密。
首先需要引用 Javamail 1.4 包。
import javax.mail.*;import javax.mail.internet.*;import java.util.Properties;public class SimpleSSLMail { private static final String SMTP_HOST_NAME = "smtp.gmail.com"; private static final int SMTP_HOST_PORT = 465; private static final String SMTP_AUTH_USER = "myaccount@gmail.com"; private static final String SMTP_AUTH_PWD = "mypwd"; public static void main(String[] args) throws Exception{ new SimpleSSLMail().test(); } public void test() throws Exception{ Properties props = new Properties(); props.put("mail.transport.protocol", "smtps"); props.put("mail.smtps.host", SMTP_HOST_NAME); props.put("mail.smtps.auth", "true"); // props.put("mail.smtps.quitwait", "false"); Session mailSession = Session.getDefaultInstance(props); mailSession.setDebug(true); Transport transport = mailSession.getTransport(); MimeMessage message = new MimeMessage(mailSession); message.setSubject("Testing SMTP-SSL"); message.setContent("This is a test", "text/plain"); message.addRecipient(Message.RecipientType.TO, new InternetAddress("elvis@presley.org")); transport.connect (SMTP_HOST_NAME, SMTP_HOST_PORT, SMTP_AUTH_USER, SMTP_AUTH_PWD); transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO)); transport.close(); }}
参考 : http://java.sun.com/products/javamail/javadocs/com/sun/mail/smtp/package-summary.html
说明下:雅虎的smtp和pop的端口分别是pop.mail.yahoo.com (POP3 - port 110)
smtp.mail.yahoo.com (SMPTP - port 25)
而Gmail的是:pop.gmail.com (POP3S SSL, 端口 995) SMTP - gmail.com (SMPTS SSL enabled, port 465)
用户点评