JAVAMAIL SSL 和 NO-SSL 发送邮件

JAVAMAIL  SSL 发送邮件

import java.security.Security;
import java.util.Date;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

/**
 * 使用263发送邮件
 * @author Lixin Chen
 */
public class JavaMailSSL {

 public static void main(String[] args) throws AddressException, MessagingException {
  Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
  final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
  // Get a Properties object
  Properties props = System.getProperties();
  props.setProperty("mail.smtp.host", "smtp.263.com");
  props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
  props.setProperty("mail.smtp.socketFactory.fallback", "false");
  props.setProperty("mail.smtp.port", "465");
  props.setProperty("mail.smtp.socketFactory.port", "465");
  props.put("mail.smtp.auth", "true");
  final String username = "×××××××××@263.com";
  final String password = "×××××××××";
  Session session = Session.getDefaultInstance(props, new Authenticator(){
      protected PasswordAuthentication getPasswordAuthentication() {
          return new PasswordAuthentication(username, password);
      }});
  session.setDebug(true);
       // -- Create a new message --
  Message msg = new MimeMessage(session);

  // -- Set the FROM and TO fields --
  msg.setFrom(new InternetAddress(username));
  msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("×××××××@263.com",false));
  msg.setSubject("Hello");
  msg.setText("How are you");
  msg.setSentDate(new Date());
  Transport.send(msg);

  System.out.println("Message sent.");
 }
}

JAVAMAIL  NO-SSL 发送邮件

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

public class JavaMailNoSSL {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try  
		  {
		       String title = "测试邮箱";
		       String serverIp = "smtp.263.com";
		       String serverPort = "25";
		       final String username ="*****@263.com";
		       final String password ="*****";
		       title = new String(title.getBytes("GBK")); 
		           Properties props = System.getProperties(); 
		           props.setProperty("mail.smtp.host",serverIp);        //指定SMTP服务器  
		           props.setProperty("mail.smtp.auth","true");          //指定是否需要SMTP验证  
		           props.setProperty("mail.smtp.port", serverPort);     //指定端口
		           
		         Session mailSession = Session.getDefaultInstance(props,new Authenticator(){
		             protected PasswordAuthentication getPasswordAuthentication() {
		                 return new PasswordAuthentication(username, password);
		             }});  //获得一个默认会话session 
		         
		         mailSession.setDebug(true);//是否在控制台显示debug信息    
		         Message message=new MimeMessage(mailSession);  
		         message.setFrom(new InternetAddress("[email protected]"));//发件人  
		         message.setRecipient(Message.RecipientType.TO,new InternetAddress("[email protected]"));//收件人     
		         message.setSubject(title);//邮件主题  
		         message.setText(title);//邮件内容
		         message.saveChanges();  
		         Transport.send(message);  
		         System.out.println("Message sent.");
		  }    catch(Exception e)    {  
		         System.out.println(e.toString());  
		  }  

	}

}


你可能感兴趣的:(JAVAMAIL SSL 和 NO-SSL 发送邮件)