Java代码发送邮件

package com.utils;

import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class EmailUtil {

	public static void main(String[] args) {
		sendEmail("收件箱", "ceshi", "ceshiyoujian");
	}
	/*
	 * 发送普通邮件
	 */
	public static void sendEmail(String to,String title,String msg) {
		// 收件人电子邮箱
		//String to = "abcd@gmail.com";

		// 发件人电子邮箱
		String from = "服务邮箱";

		// 指定发送邮件的主机为 localhost
		String host = "smtp.163.com";

		// 获取系统属性
		Properties properties = System.getProperties();

		// 设置邮件服务器
		properties.setProperty("mail.smtp.host", host);

		// 获取默认session对象
		Session session = Session.getDefaultInstance(properties);

		
		try {
			Transport tranSprot = session.getTransport("smtp");
			tranSprot.connect(host, "服务邮箱", "客户端授权码");
			// 创建默认的 MimeMessage 对象
			MimeMessage message = new MimeMessage(session);

			// Set From: 头部头字段
			message.setFrom(new InternetAddress(from));

			// Set To: 头部头字段
			message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

			// Set Subject: 头部头字段
			//message.setSubject("This is the Subject Line!");
			message.setSubject(title);

			// 设置消息体
			message.setText(msg);
			//message.setText("This is actual message");

			// 发送消息
			tranSprot.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
//			Transport.send(message);
			System.out.println("Sent message successfully....");
			tranSprot.close();
		} catch (MessagingException mex) {
			mex.printStackTrace();
		}
	}

	/*
	 * 发送Html Email
	 */

	public static void sendHtmlEmail() {
		// 收件人电子邮箱
		String to = "abcd@gmail.com";

		// 发件人电子邮箱
		String from = "web@gmail.com";

		// 指定发送邮件的主机为 localhost
		String host = "localhost";

		// 获取系统属性
		Properties properties = System.getProperties();

		// 设置邮件服务器
		properties.setProperty("mail.smtp.host", host);

		// 获取默认的 Session 对象。
		Session session = Session.getDefaultInstance(properties);

		try {
			// 创建默认的 MimeMessage 对象。
			MimeMessage message = new MimeMessage(session);

			// Set From: 头部头字段
			message.setFrom(new InternetAddress(from));

			// Set To: 头部头字段
			message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

			// Set Subject: 头字段
			message.setSubject("This is the Subject Line!");

			// 发送 HTML 消息, 可以插入html标签
			message.setContent("<h1>This is actual message</h1>", "text/html");

			// 发送消息
			Transport.send(message);
			System.out.println("Sent message successfully....");
		} catch (MessagingException mex) {
			mex.printStackTrace();
		}
	}
	
	/*
	 * 发送带有附件的 E-mail
	 */
	
	public static void sendFileEmail(){
		// 收件人电子邮箱
	      String to = "abcd@gmail.com";
	 
	      // 发件人电子邮箱
	      String from = "web@gmail.com";
	 
	      // 指定发送邮件的主机为 localhost
	      String host = "localhost";
	 
	      // 获取系统属性
	      Properties properties = System.getProperties();
	 
	      // 设置邮件服务器
	      properties.setProperty("mail.smtp.host", host);
	 
	      // 获取默认的 Session 对象。
	      Session session = Session.getDefaultInstance(properties);
	 
	      try{
	         // 创建默认的 MimeMessage 对象。
	         MimeMessage message = new MimeMessage(session);
	 
	         // Set From: 头部头字段
	         message.setFrom(new InternetAddress(from));
	 
	         // Set To: 头部头字段
	         message.addRecipient(Message.RecipientType.TO,
	                                  new InternetAddress(to));
	 
	         // Set Subject: 头字段
	         message.setSubject("This is the Subject Line!");
	 
	         // 创建消息部分
	         BodyPart messageBodyPart = new MimeBodyPart();
	 
	         // 消息
	         messageBodyPart.setText("This is message body");
	        
	         // 创建多重消息
	         Multipart multipart = new MimeMultipart();
	 
	         // 设置文本消息部分
	         multipart.addBodyPart(messageBodyPart);
	 
	         // 附件部分
	         messageBodyPart = new MimeBodyPart();
	         String filename = "file.txt";
	         DataSource source = new FileDataSource(filename);
	         messageBodyPart.setDataHandler(new DataHandler(source));
	         messageBodyPart.setFileName(filename);
	         multipart.addBodyPart(messageBodyPart);
	 
	         // 发送完整消息
	         message.setContent(multipart );
	 
	         //   发送消息
	         Transport.send(message);
	         System.out.println("Sent message successfully....");
	      }catch (MessagingException mex) {
	         mex.printStackTrace();
	      }
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值