下面是全部的源代码:
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文档