练习使用javamail进行邮件的发送

下面是全部的源代码:

SendMail.java

package com.dsh.javamail;

import java.util.Properties;

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

/**
 * 練習使用java mail發送電子郵件
 * @author:DuanShiHui
 * @company:oddTech
 * @time:2011-12-1 下午12:35:43
 */
public class SendMail {
	private String host = "smtp.163.com"; // 使用smtp服务器
	private String user = "ly5423ems"; // 用户名
	private String pwd = ""; // 密码
	private String from = "[email protected]"; // 发件人地址
	private String to = "[email protected]"; // 收件人地址
	private String subject = "java Mail郵件發送測試"; // 邮件标题


	/**
	 * @param args
	 */
	public static void main(String[] args) {
		SendMail sm=new SendMail();//實例化一個對象
		sm.setAddress("[email protected]", "[email protected]", "java Mail郵件發送測試","");
		sm.sendToMail("這是我用來測試的,請不要回覆");

	}
	/**
	 * 設置有地址之類的信息
	 * @param from
	 * 發送者的地址
	 * @param to
	 * 接收者的地址
	 * @param subject
	 * 郵件主題
	 * @param pwd
	 * 發件人的郵箱密碼
	 */
	public void setAddress(String from, String to, String subject,String pwd){
		this.from = from;
		this.to = to;
		this.subject = subject;
		this.pwd=pwd;
	}
	/**
	 * 郵件的發送
	 * @param text
	 * 發送的內容
	 */
	public void sendToMail(String text){
		Properties props = new Properties();
		// 設置發送郵件的郵件服務器的屬性(這裡使用的是163的smtp服務器)
		props.put("mail.smtp.host", host);
		// 需要經過授權,也就是有用戶名和密碼的校驗,這樣才能通過驗證(一定要有這條)
		props.put("mail.smtp.auth", "true");
		// 用剛剛設置好的props對象構建一個session
		Session session = Session.getDefaultInstance(props);
		//這句話是爲了在發送過程中在控制台顯示發送郵件的過程
		session.setDebug(true);
		// 用session為參數定義消息對象
		MimeMessage message = new MimeMessage(session);
		try {
			// 加載發件人地址
			message.setFrom(new InternetAddress(from));
			// 加載收件人地址
			message.addRecipient(Message.RecipientType.TO, new InternetAddress(
					to));
			// 加載主題
			message.setSubject(subject);
			// 向multipart對象中添加郵件的各個部份內容,包括文本內容和附件
			Multipart multipart = new MimeMultipart();

			// 設置郵件的文本內容
			BodyPart contentPart = new MimeBodyPart();
			contentPart.setText(text);
			multipart.addBodyPart(contentPart);


			// 將multipart對象放到message中
			message.setContent(multipart);
			// 保存郵件
			message.saveChanges();
			// 發送郵件
			Transport transport = session.getTransport("smtp");
			// 鏈接服務器的郵箱
			transport.connect(host, user, pwd);
			//把郵件發送出去
			transport.sendMessage(message, message.getAllRecipients());
			transport.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

}
 要想实现更加丰富的功能,请参照javaMail  的api文档

你可能感兴趣的:(练习使用javamail进行邮件的发送)