本文實例講述了html">JavaMail實現發送超文本(html)格式郵件的方法。分享給大家供大家參考。具體如下:
附件以超文本形式,很常用,與普通的郵件,只是查了一些設置,只有處理方式有些細微的差別
代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
<%@ page contentType= "text/html;charset=GBK" %> <%@ page import = "java.util.*" %> <%@ page import = "javax.mail.*" %> <%@ page import = "javax.mail.internet.*" %> <%@ page import = "javax.activation.*" %> <% try { request.setCharacterEncoding( "GBK" ); String from=request.getParameter( "from" ); String to=request.getParameter( "to" ); String subject=request.getParameter( "subject" ); String messageText=request.getParameter( "content" ); String password=request.getParameter( "password" ); //****如果是在Internet上發送電子郵件, 使用這段代碼自動生成SMTP的主機名稱********/ //int n =from.indexOf('@'); //int m=from.length() ; //String mailserver ="smtp."+from.substring(n+1,m); String mailserver= "mrlx" ; //在局域網上發送電子郵件使用這句代碼指定SMTP服務器 Properties prop = new Properties(); prop.put( "mail.smtp.host" ,mailserver); prop.put( "mail.smtp.auth" , "true" ); Session sess =Session.getInstance(prop); sess.setDebug( true ); MimeMessage message= new MimeMessage(sess); //給消息對象設置收件人、發件人、主題、發信時間 InternetAddress mail_from = new InternetAddress(from); message.setFrom(mail_from); InternetAddress mail_to = new InternetAddress(to); message.setRecipient(Message.RecipientType.TO,mail_to); message.setSubject(subject); message.setSentDate( new Date()); Multipart mul= new MimeMultipart(); //新建一個MimeMultipart對象來存放多個BodyPart對象 BodyPart mdp= new MimeBodyPart(); //新建一個存放信件內容的BodyPart對象 mdp.setContent(messageText, "text/html;charset=GBK" ); mul.addBodyPart(mdp); //將含有信件內容的BodyPart加入到MimeMulitipart對象中 message.setContent(mul); //把mul作為消息對象的內容 message.saveChanges(); Transport transport = sess.getTransport( "smtp" ); //以smtp方式登陸郵箱,第1個參數是發送郵件用的郵件服務器SMTP地址, //第2個參數為用戶名,第3個參數為密碼 transport.connect(mailserver,from,password); transport.sendMessage(message,message.getAllRecipients()); transport.close(); out.println( "<script language='javascript'>alert('郵件已發送!');window.location.href='index.jsp';</script>" ); } catch (Exception e){ System.out.println( "發送郵件產生的錯誤:" +e.getMessage()); out.println( "<script language='javascript'>alert('郵件發送失敗!');window.location.href='index.jsp';</script>" ); } %> |
希望本文所述對大家的java程序設計有所幫助。