练习使用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 = "test@163.com"; // 发件人地址private String to = "test@qq.com"; // 收件人地址private String subject = "java Mail郵件發送測試"; // 邮件标题/** * @param args */public static void main(String[] args) {SendMail sm=new SendMail();//實例化一個對象sm.setAddress("test@163.com", "test@qq.com", "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對象構建一個sessionSession 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文档