十万火急,使用JavaMail发送电子邮件,出现了一个奇怪的问题(100分)

  • 主题发起人 主题发起人 qiqijsp
  • 开始时间 开始时间
Q

qiqijsp

Unregistered / Unconfirmed
GUEST, unregistred user!
以下是发送电子邮件的源码,在这之前我已经从sun的网站下载了JavaMail文件和JAF文件,把里面的jar文件全放在了Classpath下
可是却产生了例外:
javax.mail.SendFailedException: Sending failed;
nested exception is: javax.mail.MessagingException: Unknown SMTP host: smtp.jspinsider.com;
nested exception is: java.net.UnknownHostException: smtp.jspinsider.com
我怀疑是这句 props.put("mail.smtp.host", "smtp.jspinsider.com");
产生了问题,可是不知道怎么改
在API文档中也没找到它的方法。
很急,希望高手们帮我解决这个问题,这里先谢了。
<%@ page import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util.*" %>
<html>
<head>
<TITLE>JSP meets JavaMail, what a sweet combo.</TITLE>
</hEAD>
<BODY>
<%
try{
Properties props = new Properties();
Session sendMailSession;
Store store;
Transport transport;
sendMailSession = Session.getInstance(props, null);
props.put("mail.smtp.host", "smtp.jspinsider.com");
Message newMessage = new MimeMessage(sendMailSession);
newMessage.setFrom(new InternetAddress(request.getParameter("from")));
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to")));
newMessage.setSubject(request.getParameter("subject"));
newMessage.setSentDate(new Date());
newMessage.setText(request.getParameter("text"));
transport = sendMailSession.getTransport("smtp");
transport.send(newMessage);
%>
<P>Your mail has been sent.</P>
<%
}
catch(MessagingException m)
{
out.println(m.toString());
}
%>
</BODY>
</HTML>
 
1.可能是你的SMTP Server 有问题,换个SMTP Server 试试
2.下面两句
transport = sendMailSession.getTransport("smtp");
transport.send(newMessage);
可以改成这样
newMessage.setContent(message, "text/plain");
Transport.send(newMessage);
 
wangjerry,您好,感谢你能回答我的问题,但是还是有一些问题,我换上后两句后出现的错误提
示是message 没有定义,我给它定义成Muntipart 类型,可是又提示没有初始化,我就不知道
怎么做了,希望你再帮帮我,这里先谢了。
newMessage.setContent(message, "text/plain");
 
没有错误!!
是props.put("mail.smtp.host", "smtp.jspinsider.com");
中的目标smtp服务器有问题,
换一个好用的就成了。
 
接受答案了.
 
后退
顶部