JavaMail應用——如何發送超文本(html)格式的郵件

附件以超文本形式,很常用,與普通的郵件,只是查了一些設置,只有處理方式有些細微的差別

代碼如下:

<%@ 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>");
}
%>

 


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章