需要的類: ?1 Properties ? javamail需要properties來創(chuàng)建一個(gè)session對象。它將尋找字符串"mail.smtp.host"。屬性值就是發(fā)送郵件的主機(jī),如: ? Properties props = new Properties(); ? props.put("mail.smtp.host","smtp.sohu.com");
2 Session 這個(gè)Session類代表javamail中的一個(gè)郵件session,每一個(gè)基于javamail的應(yīng)用程序至少要有一個(gè)session,但是可以有多個(gè)session,session對象需要知道用來處理郵件的smtp郵件服務(wù)器。例如: ????? Session sendMailSession; ????? sendMailSession = Session.getInstance(props, null);
3 Transport javamail 用兩個(gè)類來實(shí)現(xiàn)兩個(gè)功能:Transport? 和 Store。transport用來發(fā)信,store用來收信。 用javamail的session的getTransport()方法來初始化Transport 。傳過去的字符串申明了對象所要用的協(xié)議。如smtp,如: ??? Transport? transport ; ??? transprot = sendMessageSession.getTransport("smtp"); javamail并不是支持每一個(gè)協(xié)議。目前支持imap? smtp?? pop3
4 Message Message 對象存儲我們實(shí)際發(fā)送的電子郵件信息。Message對象被作為一個(gè)MimeMessage對象來創(chuàng)建并且需要知道應(yīng)當(dāng)選擇哪一個(gè)JavaMail Session ??? Message newMessage = new MimeMessage(sendMailSession);
創(chuàng)建并發(fā)送Message對象
message.setFrom(new InternetAddress(request.getParameter("from"))); message.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to"))); message.setSubject(request.getParameter("subject")); message.setSentDate(new Date()); message.setText(request.getParameter("text"));
transport.send(message);
|