百分啼血求教,一个星期了,请大家帮我看看,这里到底哪错了,高人们赐教

wangyunfeng1989 2004-09-02 11:18:11
我在练习一个javamail的小程序,下面是我的源码,很简单,请大家看看
SendMail.html
<html>
<BODY>  
<p>  
<FORM action="SendMail.jsp" method="post">
<TABLE align="center">    
<TR>
<TD width="50%">
收件人:<input name="to" size="25">
</TD>     
<TD width="50%">
寄信人:<input name="from" size="25">
</TD>
</TR>    
<TR>
<TD colspan="2">
主题:<BR><input name="subject" size="50">
</TD>
</TR>
<TR>
<TD colspan="2">
<p>邮件正文:
<TEXTAREA name="text" rows=25 cols=85>
</TEXTAREA>
</p>
</TD>
</TR>
</TABLE>    
<input type="submit" name="cb_submit" value="发送">    
<input type="reset" name="cb_reset" value="重写">
</FORM>  
</BODY>
</HTML>

下面是SendMail.jsp
<%@ page import="javax.mail.*,javax.mail.internet.*,javax.activation.*,java.util.*"%>

<html>

<head>

<TITLE>JavaMail 电子邮件发送系统</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.163.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>你的邮件已发送,请返回。</p>
<%
}
catch(MessagingException m)
{
out.println(m.toString());
}
%>   
</BODY>
</HTML>
运行后提示信息:
javax.mail.SendFailedException: Sending failed; nested exception is: javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.com, port: 25; nested exception is: java.net.SocketException: Network is unreachable: connect   

我是通过单位的代理上网,每次新打开一个浏览器时,总要提示输入密码用户名,但运行本地程序时,是不通过代理的,是不是和这有关?
...全文
367 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
mbh0210 2004-10-18
  • 打赏
  • 举报
回复
学习
Bluecatr 2004-09-02
  • 打赏
  • 举报
回复
我就是使用局域网代理上网的,给我的是局域网的IP,我做的一个sendmail的小程序,没有一点问题
craks 2004-09-02
  • 打赏
  • 举报
回复
代理是不行的,他不支持代理的
Bluecatr 2004-09-02
  • 打赏
  • 举报
回复
你将授权的Authenticator加上去,163好像是要授权才能发的,不知道是不是这个原因,但从你的异常看又好像和你说的那个有关
umbrella1984 2004-09-02
  • 打赏
  • 举报
回复
连接不上smtp主机
bluesky35 2004-09-02
  • 打赏
  • 举报
回复
用代理的话估计是不行
Bluecatr 2004-09-02
  • 打赏
  • 举报
回复
还有一个种授权方式是:

..........................

Transport trans=sess.getTransport();
trans.connect(smtpserver,userName,userPassword);
trans.sendMessage(msg,InternetAddress.parse(m_to));
trans.close();

不同的smtp服务器有的用上面那个行,有的用下面这个行,为什么我也不是很清楚,但多数用我给的第一个好使!
Bluecatr 2004-09-02
  • 打赏
  • 举报
回复
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.tom.com");
props.put("mail.smtp.auth", "true");
SmtpAuthenticator sa = new SmtpAuthenticator(sendUserBean.getSendUser(),
sendUserBean.getSendUserPassword());
Session mailConnection = Session.getInstance(props, sa);

............................................


//授权用的子类
class SmtpAuthenticator extends Authenticator {
String userName;
String userPassword;

public SmtpAuthenticator(String userName, String userPassword) {
this.userName = userName;
this.userPassword = userPassword;
}

protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication
(userName, userPassword);
}
}
wangyunfeng1989 2004-09-02
  • 打赏
  • 举报
回复
Bluecatr(蓝夜猫儿)不好意思水平不够能告诉我在哪加授权呀谢谢
BillyW 2004-09-02
  • 打赏
  • 举报
回复
你需要装一个ccproxy,这样的话通过设置你本地的代理端口
Bluecatr 2004-09-02
  • 打赏
  • 举报
回复
已经帮你测试通过了我就改了smtp.163.com,不是你程序问题,是你这个局域网的问题,但是现在的smtp都需要授权,如下:

javax.mail.SendFailedException: Sending failed; nested exception is: class javax.mail.MessagingException: 553 You are not authorized to send mail as >, authentication is required

当加上授权信息后,就可以发信了。
Bluecatr 2004-09-02
  • 打赏
  • 举报
回复
楼上说的好像有可能,从程序上看你的程序好像没有什么问题
tnt_tnt 2004-09-02
  • 打赏
  • 举报
回复
估计原因是在端口上,可能你们那里的网络端口被封掉了.25端口被禁用,你可以自己装一个服务器,然后在局域网内部调试这个程序.
walkie 2004-09-02
  • 打赏
  • 举报
回复
收藏!
wangyunfeng1989 2004-09-02
  • 打赏
  • 举报
回复
Bluecatr(蓝夜猫儿)拿你能帮我看看我的程序有问题码

81,122

社区成员

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

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