JavaMail邮件发送

1.导入相关依赖jar包

javax.mail-1.5.4.jar

javax.mail.jar

如果是Maven项目导入以下依赖即可

        <!--发送邮件-->
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.5</version>
        </dependency>

 

2.网易邮箱邮件发送

package com.baizhi;

import java.util.Properties;

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

import org.apache.commons.lang3.RandomStringUtils;

/**
 * @Description
 *      username  为发送用户的登录账号
 *      password  为发送用户的登录密码
 */
public class SendEmailUtil {

	public static String username = "15236674712@163.com";
	private static String password = "***";
	public static void sendMessage(String email,String message){
		
		//构建会话对象   包括会话类型   和 会话账号密码
		Properties props = System.getProperties();
		//设置主机类型
		props.setProperty("mail.smtp.host", "smtp.163.com");
		
		
		Session session = Session.getDefaultInstance(props, new Authenticator() {

			@Override
			protected PasswordAuthentication getPasswordAuthentication() {
				// TODO Auto-generated method stub
				return new PasswordAuthentication(username, password);
			}
		}); 
		session.setDebug(true);
		
		//构建 会话内容
		MimeMessage mimeMessage = new MimeMessage(session);
		
		try {
			//设置发送地址
			InternetAddress fromAddress = new InternetAddress(username);
			mimeMessage.setFrom(fromAddress);

			//设置接收人
			InternetAddress reciAddress = new InternetAddress(email);
			mimeMessage.setRecipient(RecipientType.TO, reciAddress);
			
			//设置邮件的头
			mimeMessage.setSubject("当当网验证码!");
			mimeMessage.setContent(message, "text/plain;charset=UTF-8");
			
			//构建连接	
			Transport transport = session.getTransport("smtp");
			transport.connect("smtp.163.com",username, password);
			transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients());
			transport.close();
			System.out.println("send Message SuccessFul!");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			System.out.println("send Message fail!");
			e.printStackTrace();
		} 
		
	}
	public static void getEmail(String email){
		
    	String code = RandomStringUtils.random(6, "01234567890123456789");
		String context="【当当网】您好,您当前正在进行当当网的注册,您的验证码为:"+code+"。为了给您提供更好的服务,请您尽快完成注册。!";
		//参数    要接收邮件的邮箱 ,发送的内容
		sendMessage(email,context);	
	}
	
	public static void main(String[] args) {
		
		getEmail("1787845073@qq.com");
	}

}

注意:

      开启SMTP邮件发送协议

3.新浪邮箱邮件发送

package com.baizhi;

import java.util.Properties;

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

import org.apache.commons.lang3.RandomStringUtils;

/**
 * @Description
 *      username  为发送用户的登录账号
 *      password  为发送用户的登录密码
 */
public class SinaSendEmailUtil {

	public static String username = "naboan@sina.com";
	private static String password = "***";
	public static void sendMessage(String email,String message){
		
		//构建会话对象   包括会话类型   和 会话账号密码
		Properties props = System.getProperties();
		//设置主机类型
		props.setProperty("mail.smtp.host", "smtp.sina.com");
		
		
		Session session = Session.getDefaultInstance(props, new Authenticator() {

			@Override
			protected PasswordAuthentication getPasswordAuthentication() {
				// TODO Auto-generated method stub
				return new PasswordAuthentication(username, password);
			}
		}); 
		session.setDebug(true);
		
		//构建 会话内容
		MimeMessage mimeMessage = new MimeMessage(session);
		
		try {
			//设置发送地址
			InternetAddress fromAddress = new InternetAddress(username);
			mimeMessage.setFrom(fromAddress);

			//设置接收人
			InternetAddress reciAddress = new InternetAddress(email);
			mimeMessage.setRecipient(RecipientType.TO, reciAddress);
			
			//设置邮件的头
			mimeMessage.setSubject("当当网验证码!");
			mimeMessage.setContent(message, "text/plain;charset=UTF-8");
			
			//构建连接	
			Transport transport = session.getTransport("smtp");
			transport.connect("smtp.sina.com",username, password);
			transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients());
			transport.close();
			System.out.println("send Message SuccessFul!");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			System.out.println("send Message fail!");
			e.printStackTrace();
		} 
		
	}
	public static void getEmail(String email){
		
    	String code = RandomStringUtils.random(6, "01234567890123456789");
		String context="【当当网】您好,您当前正在进行当当网的注册,您的验证码为:"+code+"。为了给您提供更好的服务,请您尽快完成注册。!";
		//参数    要接收邮件的邮箱 ,发送的内容
		sendMessage(email,context);	
	}
	
	public static void main(String[] args) {
		
		//邮箱没有限制任意邮箱
		getEmail("1787845073@qq.com");
		
		//发送成功   send Message SuccessFul!
	}

}

注意:

      开启SMTP邮件发送协议

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值