一个mail问题,帮帮我呀!!

legendtw 2002-01-31 05:13:03
我在servlet中取得变量值,同时调用jsendmail方法发送出去。可是有以下问题,当servlet单独使用时正常,jsendmail单独使用也正常,可是写到一起时,编译也没问题,运行时确报错请各位指教,万分感谢
--servlet-------------------------------
package netftp;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;
import nethd.nethdsystem.NetHDBase;
import nethd.netftp.*;
import java.lang.*;
import java.sql.*;
import java.sql.Date;
import nethd.nethduser.*;
import nethd.nethdsystem.*;
import sun.net.smtp.*;

public class ForgotPws extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
/**Initialize global variables*/
public void init() throws ServletException {
}
/**Process the HTTP Get request*/
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//doPost(request,response);
}
/**Process the HTTP Post request*/
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("ForgotPws test");
String xmlData="";
String returnXmlData="";
String returnValue="";
try
{
//define variable

String backPassword="";
String backMail="";
String tempPass="";
String Answer="";
String userName="";
int Times=0;

//½âÎöMXLÎļþ

ServletInputStream in=request.getInputStream();
int dataLength=request.getContentLength();
byte[] xmlDataBytes=new byte[dataLength];
int read_=in.read(xmlDataBytes,0,dataLength);

//change code
xmlData=new String(xmlDataBytes,"GB2312");
//parse XML
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
StringReader sr = new StringReader(xmlData);
InputSource iSrc = new InputSource(sr);
Document doc=builder.parse(iSrc);
doc.normalize();
NodeList links =doc.getElementsByTagName("xmlData");
Element link=(Element) links.item(0);
String Function=link.getElementsByTagName("Function").item(0).getFirstChild().getNodeValue();
Times=Integer.parseInt(link.getElementsByTagName("Times").item(0).getFirstChild().getNodeValue());
Answer=link.getElementsByTagName("Answer").item(0).getFirstChild().getNodeValue();
userName=link.getElementsByTagName("UserName").item(0).getFirstChild().getNodeValue();

//connect dabase
Connection conn=null;
NetHDBase cBase=new NetHDBase();
conn = cBase.makeConnect();
NetHDUserInFoChick cUser = new NetHDUserInFoChick();
int ii=0;
if((cUser.checkUserByQuest(conn,Answer,userName)))
{


System.out.println("Ö±½ÓÏÔʾÃÜÂë");
backPassword=cUser.backUserPasswordByQuest(conn,Answer,userName);
out.println("<? Xml version=\"1.0\">");
out.println("<xmlData>");
out.println("<Function>RequestPws</Function>");
out.println("<Error>"+backPassword+"</Error>");
out.println("</xmlData>");

}
else
{
if (Times<3)
{
//password is error
System.out.println("Answer is error");
out.println("<? Xml version=\"1.0\">");
out.println("<xmlData>");
out.println("<Function>RequestPws</Function>");
out.println("<Error>1</Error>");
out.println("</xmlData>");
}
else
{
backPassword=cUser.backUserPasswordByQuest(conn,Answer,userName);
backMail=cUser.backUserEmailByQuest(conn,Answer,userName);
System.out.println("backPassword"+backPassword);
System.out.println("backMail"+backMail);
out.println("<? Xml version=\"1.0\">");
out.println("<xmlData>");
out.println("<Function>RequestPws</Function>");
out.println("<Error>0</Error>");
out.println("</xmlData>");
System.out.println(backMail);
System.out.println(backPassword);

//------------------------------------------------------------

JSendMail sendmail=new JSendMail(backMail,"webmaster@zyx.e-office.com.cn","smtp.e-office.com.cn",backPassword);
if (sendmail.startSend())
{
System.out.println("ok");
}
else
{
System.out.println("fail");
}

//-------------------------------------------------------------
}
}
}
catch(Exception e)
{
e.printStackTrace();
}

}


/**Clean up resources*/
public void destroy() {
}

}
---jsendmail-----------------------------
package netftp;

/**
* Title:
* Description:
* Copyright: Copyright (c) 2001
* Company:
* @author
* @version 1.0
*/

import java.util.* ;
import java.io.* ;
import javax.mail.* ;
import javax.mail.internet.* ;
import javax.activation.* ;
public class JSendMail
{
//¶¨ÒåÊÕ¼þÈË¡¢·¢ËÍÈË¡¢Ö÷ÌâµÈ
String to="",from="",host="",filename="",messagetext="",subject="";
boolean debug=false;
//±£´æ·¢Ë͵ÄÎļþÃû
Vector vfile = new Vector(10,10);
//±£´æ·¢Ë͵ÄÕýÎÄ
Vector vmsg = new Vector(10,10);
public JSendMail() {}
public JSendMail(String to,String from,String smtpServer,String subject)
{
//³õʼ»¯ÊÕ¼þÈË¡¢·¢ËÍÈË¡¢Ö÷Ìâ
this.to=to;
this.from=from;
this.host=smtpServer;
this.subject=subject;
}
//ÊÕ¼¯¸½¼ÓÎļþ
public void attachfile(String fname)
{
vfile.addElement(fname);
}
//ÊÕ¼¯ÓʼþÕýÎÄ
public void setMessage(String msg)
{
vmsg.addElement(msg);
}
//ÉèÖõ÷ÊÔ±êÖ¾
public void setDebug(boolean debug)
{
this.debug=debug;
}
//Óʼþ·¢Ëͺ¯Êý
public boolean startSend()
{
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
Session session=Session.getDefaultInstance(props, null);
session.setDebug(debug);
try
{
//´´½¨Ò»¸öÏûÏ¢,²¢³õʼ»¯¸ÃÏûÏ¢µÄ¸÷ÏîÔªËØ
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address={new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO,address);
msg.setSubject(subject);
//°Ñmessage part¼ÓÈëд´½¨µÄMultipart
Multipart mp = new MimeMultipart();
// ÓʼþÄÚÈݵĵÚÒ»²¿·Ö
Enumeration emsg=vmsg.elements();
while(emsg.hasMoreElements())
{
messagetext=emsg.nextElement().toString();
MimeBodyPart mbp1=new MimeBodyPart();
mbp1.setText(messagetext);
mp.addBodyPart(mbp1);
}
vmsg.removeAllElements();
// ÓʼþÄÚÈݵĵڶþ²¿·Ö
Enumeration efile=vfile.elements();
while(efile.hasMoreElements())
{
MimeBodyPart mbp2=new MimeBodyPart();
filename=efile .nextElement().toString();
FileDataSource fds=new FileDataSource(filename);
mbp2.setDataHandler(new DataHandler(fds));
mbp2.setFileName(fds.getName());
mp.addBodyPart(mbp2);
}
vfile.removeAllElements();
// °ÑMultiPart¼ÓÈëÓʼþ
msg.setContent(mp);
// ÉèÖÃÓʼþÍ·µÄ·¢ËÍÈÕÆÚ
msg.setSentDate(new Date());
// ·¢ËÍÓʼþ
Transport.send(msg);
}
catch (MessagingException mex)
{
mex.printStackTrace();
Exception ex = null;
if ((ex=mex.getNextException())!=null)
{
ex.printStackTrace();
}
return false;
}
return true;
}//end public void startSend()

}
---报错信息------------------------------
n port 7001>
javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.MessagingException: Unknown SMTP host: smtp.e-office.com.cn;
nested exception is:
java.net.UnknownHostException: smtp.e-office.com.cn
at javax.mail.Transport.send0(Transport.java:218)
at javax.mail.Transport.send(Transport.java:80)
at netftp.JSendMail.startSend(JSendMail.java:94)
at netftp.ForgotPws.doPost(ForgotPws.java:129)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:213)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:1265)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:1631)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
javax.mail.MessagingException: Unknown SMTP host: smtp.e-office.com.cn;
nested exception is:
java.net.UnknownHostException: smtp.e-office.com.cn
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:693)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:16
8)
at javax.mail.Service.connect(Service.java:227)
at javax.mail.Service.connect(Service.java:131)
at javax.mail.Service.connect(Service.java:87)
at com.sun.mail.smtp.SMTPTransport.connect(SMTPTransport.java:105)
at javax.mail.Transport.send0(Transport.java:162)
at javax.mail.Transport.send(Transport.java:80)
at netftp.JSendMail.startSend(JSendMail.java:94)
at netftp.ForgotPws.doPost(ForgotPws.java:129)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:213)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:1265)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:1631)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
fail
...全文
205 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
legendtw 2002-01-31
  • 打赏
  • 举报
回复
改成IP地址也不行呀,真的没有人愿意帮助我吗?:<
legendtw 2002-01-31
  • 打赏
  • 举报
回复
可是如果不用IP地址,单独使用jsendmail也能正常发邮件呀
skyyoung 2002-01-31
  • 打赏
  • 举报
回复
smtp.e-office.com.cn改为IP地址。
skyyoung 2002-01-31
  • 打赏
  • 举报
回复
改为IP地址吧。
/* *游戏说明:此为我边学边做的,但有很多的BUG,参照了我从网上下载的游戏方块设计 * 一、游戏的BUG * 1、提示分数那地方,玩过游戏后,长了分数后,再玩时,后面的数据没清掉 * 2、重级BUG:当在游戏过程中,切换了一个旁边的后,再切换回来后, * 刚才的方块不显了,而且游戏区的数据也不见了。 * 3、我在刚开始做时,没有要窗口上的关闭,现在想要,但不知道怎么加。 * 4、如果用鼠标点了菜单后,再回到游戏区,数据方块又不见了。 * * 二、此游戏没有版权,可以乱改,反正我也是在学习,谢谢那些无私的网友们,不过 * 请你们下次提交上来的源程序有个说明好不好,看得我头都大了,流程图也没得, * 设计说明也没有,完全看源代码,很费力的!谢谢对新人的支持。 * * 三、如果那位高手愿意,请收我为徒弟吧,我学过c/c++、数据结构、编译原理、操作系统等( * 计算机专业的),但对于VC这个大东西来说,,好像一点用也没有,现在在边学边做,门不好入呀! * * 四、请高手们帮帮我,请给分析一下问题在哪,谢谢,我对VC还不是很清楚,在文件目录下 * 有设计时的流程图。设计说明我没有写,我是针对每一个流程图模块来设计和编码的。 * * 五、在游戏中,我加了很多注释,以方便理解,主要的代码都在CChileView.h、CChileView.CPP中 * 我想的是,如果新人也想看看的话,可能理解起来快点。不过有点乱,编码中有些冗余。没来 * 得及改。如果你改好了,请给我一份,我想学学。谢谢! * *================================================================================================ * *编译环境: * 1、操作系统 :WindowsXP SP2 * 2、编译器 :Visual C++ 8.0 * *包含文件:所有源文件都在此。 * * *编译参考:此目录下有一个文件名为:Russia.sln的文件,用Visual C++ 8.0 打开,直接就可编译 * 此游戏是我编译通过后,才压缩的。如果编译不了,请联系我,下面有我的QQ和email。 * * *其它事宜:如果还有什么问题我没有提到的,请联系我,愿向你学习。 * *================================================================================================ * *Version :BUG Edtion * *Aauthor :lin_liu60 * *E-mail :lin_liu60@163.com * *QQ :994165 (网名:刘羽峰) * *Date :2006/9/27 * */

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧