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

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   

我是通过单位的代理上网,每次新打开一个浏览器时,总要提示输入密码用户名,但运行本地程序时,是不通过代理的,是不是和这有关?
...全文
401 15 打赏 收藏 转发到动态 举报
写回复
用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(蓝夜猫儿)拿你能帮我看看我的程序有问题码
下载代码方式:https://pan.quark.cn/s/28492da20c79 依据所提供的文件资料,本资源将系统地探讨FPGA(即现场可编程门阵列)的核心概念、其在视频图像技术领域的入门及进阶知识要点,以及图像处理算法的实现方法。此外,还将对VIPBoardBig这一特定FPGA开发板的详细资料和使用途径进行深入剖析。 FPGA的入门与进阶学习主要涉及以下核心内容: 1. FPGA的基础概念:FPGA是一种能够通过编程进行配置的集成电路,主要目的是达成硬件逻辑的可重构特性。该类芯片由大量的可配置逻辑模块(CLB)、输入输出模块(IOB)以及可编程互连资源共同构成。 2. FPGA开发板与相关套件:FPGA开发板是一种用于FPGA芯片学习和测试的硬件平台,通常配备有基础的外设设备,例如LED指示灯、按键开关、LCD显示屏、串口通信接口等。套件则通常包含硬件板卡、技术文档、相关资源,以及可能的软件工具和示例代码集。VIPBoardBig即为本教程选用的FPGA开发板,拥有特定的硬件配置和功能特性。 3. FPGA的开发流程:FPGA开发一般涉及硬件描述语言(HDL)的设计与仿真阶段,常用语言为Verilog或VHDL。随后,借助综合工具将设计蓝图转化为FPGA内部的逻辑网络,最终通过编程设备将配置文件传输至FPGA芯片中,从而实现设计的预期功能。 4. 外设开发与设计工作:涵盖LED显示控制、键盘驱动、LCD显示驱动、UART串口设计等基础外设的开发任务。这部分知识将引导学习者掌握如何在FPGA平台上管理和运用这些基础外设。 5. VGA驱动显示与字符显示测试:VGA(Video Graphics Array)是一种视频传输接口标准,能够支持640x480...
内容概要:本文系统阐述了企业在搭建官方知识库后如何通过“7步锚定法”实现GEO(生成式引擎优化)的落地,重点在于从知识库走向内容矩阵的战略升级。文章指出知识库仅为起点,真正的核心是让大模型“信任并推荐”企业内容。为此提出“一个主战场+多个品牌布局”的策略,强调需根据行业特性选择商业流量的大模型(如豆包、文心一言、通义千问等),而非工具性模型(如ChatGPT、Claude)。通过业务场景画像、大模型流量测绘、采信逻辑拆解、内容架构设计、语义关键词埋点、信源建设与效果迭代七步法,构建质量、可信度的内容体系,并警惕“全模型覆盖、内容堆砌、一套内容通用、忽视第三方平台”四大误区。最终指出GEO本质是一场认知战,比拼的是对大模型逻辑与客户需求的理解深度及长期主义投入。; 适合人群:已完成官方知识库搭建、希望提升AI引用率与获客效率的企业市场负责人、品牌运营、数字营销从业者及SEO/GEO优化相关人员。; 使用场景及目标:①指导企业科学选择主攻大模型并制定差异化内容策略;②构建符合大模型采信逻辑的质量内容矩阵;③避免常见GEO落地误区,提升AI搜索下的品牌曝光与转化效果;④建立可持续优化的数据反馈闭环。; 阅读建议:建议结合自身行业特征与客户决策路径,逐步实践“7步法”,优先聚焦单一主战场打透,注重内容质量与第三方权威信源建设,坚持3-6个月持续投入以观察真实效果。

81,111

社区成员

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

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