使用JavaMail发送邮件的小例子

Java邮件发送的简单实现步骤如下:

1、构建一个集成自javax.mail.Authentication的具体类,用作登录验证,以确保对该邮箱有发送邮件的权利。

2、构建一个Properties文件,存放SMTP服务器地址等参数。

3、通过Properties和Authenticator构建一个javax.mail.Session对象,相当于登录邮箱。

4、构建邮件内容,使用javax.mail.internet.MimeMessage对象,指定发送人,收件人,主题,内容等。

5、使用javax.mail.Transport工具类发送邮件。

 

具体代码如下:

package com.tuan.test;

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Message.RecipientType;
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;

public class JavaMailDemo {
	public static void main(String[] args) {
		Properties props = new Properties();
		//是否需要验证
		props.setProperty("mail.smtp.auth", "true");
		//发送邮件服务器
		props.setProperty("mail.smtp.host", "smtp.126.com");
		
		//使用匿名内部类,用邮箱进行验证
		Session session = Session.getInstance(props, new Authenticator(){

			@Override
			protected PasswordAuthentication getPasswordAuthentication() {
				//通过用户名和密码进行验证
				return new PasswordAuthentication("[email protected]", "password");
			}
			
		});
		Message message = new MimeMessage(session);
		try {
			//设置邮件发送方
			message.setFrom(new InternetAddress("[email protected]"));
			//设置邮件标题
			message.setSubject("测试");
			//设置邮件内容
			message.setContent("测试","text/html;charset=utf-8");
			//设置邮件接收方
			message.addRecipient(RecipientType.TO, new InternetAddress("[email protected]"));
			
			//发送邮件
			Transport.send(message);
			
		} catch (AddressException e) {
			e.printStackTrace();
		} catch (MessagingException e) {
			e.printStackTrace();
		}
		
	}
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

你可能感兴趣的:(java,javamail)