請高手幫忙了,關於javamail的問題

yuanhua888發表於2003-10-17

-------------------------------------------------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>撰寫郵件</title>
</head>

<body>
<form name="form1" method="post" action="testmail.jsp">
<table width="75" border="0" align="center" cellspacing="1" bgcolor="#006600" class="black">
<tr bgcolor="FFFFFF">
<td width="24%">收信人地址:</td>
<td width="76%">
<input name="to" type="text" id="to"></td>
</tr>
<tr bgcolor="FFFFFF">
<td>主題:</td>
<td>
<input name="title" type="text" id="title"></td>
</tr>
<tr>
<td height="107" colspan="2" bgcolor="FFFFFF">
<textarea name="content" cols="50" rows="5" id="content"></textarea></td>
</tr>
<tr align="center">
<td colspan="2" bgcolor="FFFFFF">
<input type="submit" name="Submit" value="傳送">
<input type="reset" name="Submit2" value="重置">
</td>
</tr>
</table>
</form>
</body>
</html>


處理程式testmail.jsp,如下:
-----------------------------------------------------------------------------------------
<%@ page contentType="text/html;charset=GB2312" %>
<%request.setCharacterEncoding("gb2312");%><!--中文處理程式碼-->

<!--引入要用到的類庫-->
<%@ page import="java.util.*,javax.mail.*"%>
<%@ page import="javax.mail.internet.*"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>傳送成功</title>
</head>

<body>
<%
try{

//從html表單中獲取郵件資訊
String tto=request.getParameter("to");
String ttitle=request.getParameter("title");
String tcontent=request.getParameter("content");

Properties props=new Properties();//也可用Properties props = System.getProperties();
props.put("mail.smtp.host","smtp.163.net");//儲存傳送郵件伺服器的資訊
props.put("mail.smtp.auth","true");//同時透過驗證
Session s=Session.getInstance(props);//根據屬性新建一個郵件會話
s.setDebug(true);

MimeMessage message=new MimeMessage(s);//由郵件會話新建一個訊息物件

//設定郵件
InternetAddress from=new InternetAddress("boy@163.net");
message.setFrom(from);//設定發件人
InternetAddress to=new InternetAddress(tto);
message.setRecipient(Message.RecipientType.TO,to);//設定收件人,並設定其接收型別為TO
message.setSubject(ttitle);//設定主題
message.setText(tcontent);//設定信件內容
message.setSentDate(new Date());//設定發信時間

//傳送郵件
message.saveChanges();//儲存郵件資訊
Transport transport=s.getTransport("smtp");
transport.connect("smtp.163.net","boy","iloveyou");//以smtp方式登入郵箱
transport.sendMessage(message,message.getAllRecipients());//傳送郵件,其中第二個引數是所有
//已設好的收件人地址
transport.close();

%>
<div align="center">
<p><font color="FF6600">傳送成功!</font></p>
<p><a href="recmail.jsp">去看看我的信箱</a><br>
<br>
<a href="index.htm">再發一封</a> </p>
</div>
<%
}catch(MessagingException e){
out.println(e.toString());
}
%>
</body>
</html>
在tomcat下執行後,其中我用了自己的郵箱新浪的
出的錯誤是javax.mail.AuthenticationFailedException

請高手告訴我是怎麼回事。不勝感謝。


相關文章