java邮件发送实用版(简单试用欢迎补充)

上来先导两个包

java邮件发送实用版(简单试用欢迎补充)_第1张图片

package com.serviceoutsourcing.util;

import java.util.Properties;

import javax.mail.Address;  
import javax.mail.Message;  
import javax.mail.Session;  
import javax.mail.Transport;  
import javax.mail.internet.InternetAddress;  
import javax.mail.internet.MimeMessage;  

public class EmailUtils {
	public static void main(String[] args) throws Exception {  
		//创建包含邮件服务器的网络连接信息的Session对象。  
		      Properties props = new Properties();  
		      //设置为true,则要求以登录方法验证,默认为false  
		      props.setProperty("mail.smtp.auth", "true");   
		      //设置连接服务器的协议  
		      props.setProperty("mail.transport.protocol", "smtp");  
		      Session session =  Session.getInstance(props);  
		      session.setDebug(true);  
		        
		//创建代表邮件内容的Message对象。  
		      Message msg = new MimeMessage(session);  
		     //可能是163邮箱特别要求的,Mail from must equal authorized user,所以From必须和登录用户名相同  
		      msg.setFrom(new InternetAddress("[email protected]"));  
		      msg.setText("this is password");  
		      msg.setSubject("SendMessageDemo1");  
		  
		//创建Transport对象、连接服务器、发送Message、关闭连接。   
		      Transport transport = session.getTransport();  
		        //设置连接的邮件服务器及其端口以及连接的用户名和密码  
		      transport.connect("smtp.163.com", 25, "13726217296","161616");  
		        /* 
		         * Transport.send(Message)与transport.SendMessage(Message)区别 
		         * 1.静态类 Transport的send()方法包含三件事:连接服务器、发送邮件、关闭服务器。 
		         * 2.实例transport的sendMessage()方法仅仅是发送邮件。 
		         * 所以此处不能用Transport.send(Message); 
		         * 但是如果是群发邮件的话,最好不要用静态Transport.send(Message),因为其发送一个邮件就会连接一次服务器,这样效率比较低。 
		         */  
		      transport.sendMessage(msg, new Address[]{new InternetAddress("[email protected]")});  
		      transport.close();  
		         
		   }  
}


发送者账号跟密码设置为自己的就可以了,这个方法有一点就是好像只能发163邮箱,欢迎补充。

但是博主真正想实现的用tomcat搭建的本地服务器发送邮件的,还在尽快实现。


你可能感兴趣的:(java,javamail,邮件发送)