Java Mail API 问题 - setting the smtp provider请高手指教(C/S,R5)

swallowljh 2004-03-17 10:39:15
我写一个java agent,使用java mail api向外网邮件系统发送一封邮件但是当我调用这个代理的时候,产生了一个错误.

javax.mail.NoSuchProviderException: No provider for smtp
at javax.mail.Session.getProvider(Session.java:249)
at javax.mail.Session.getTransport(Session.java:442)
at javax.mail.Session.getTransport(Session.java:423)
at SendMail.Send(SendMail.java:53)
at JavaAgent.NotesMain(JavaAgent.java:22)
at lotus.domino.AgentBase.runNotes(AgentBase.java:160)
at lotus.domino.NotesThread.run(NotesThread.java:203)

下面是代理的核心代码:

import java.io.PrintStream;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendMail

{
public SendMail()

{

}
public boolean Send(String s, Vector vector, String s1, String s2)

{

try

{

Properties properties = new Properties();

Session session = Session.getInstance(properties, null);

properties.put("mail.smtp.host", "");

properties.put("mail.smtp.auth", "true");

MimeMessage mimemessage = new MimeMessage(session);

mimemessage.setFrom(new InternetAddress(s));

mimemessage.setSubject(s1);

mimemessage.setSentDate(new Date());

mimemessage.setText(s2);

Transport transport = session.getTransport("smtp");

System.out.println("smtp!");

transport.connect("smtp服务器", 25, "user", "password");

for(int i = 0; i < vector.size(); i++)

{

String s3 = (String)vector.elementAt(i);

if(s3 != null && !s3.equals(""))

{

InternetAddress internetaddress = new InternetAddress(s3);

mimemessage.setRecipient(javax.mail.Message.RecipientType.TO, internetaddress);

transport.sendMessage(mimemessage, mimemessage.getAllRecipients());

}

}
transport.close();
return true;
}
catch(Exception e)

{
e.printStackTrace();
// System.out.println(messagingexception.toString());

}

return false;

}

}

使用编辑项目按钮我添加了mail.jar,activation.jar 和 the smtp.jar 尽管我不知道SMTP.JAR是否有用。 javauserclasses已经设置。

说明:该程序在R6下运行正常,R5下是否还需要其它配置,请高手指点不胜感激!
...全文
726 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
swallowljh 2004-03-22
  • 打赏
  • 举报
回复
大家帮帮忙忙啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
swallowljh 2004-03-21
  • 打赏
  • 举报
回复
to WuZeming(mfrog)

写一个类继承Authenticator,实现getPasswordAuthentication方法,然后在 Session.getInstance第二个参数时使用该类的一个实例
请问如何实现getPasswordAuthentication方法,代码该怎么写呢。
能给出源代码吗?非常感激!!!!!!

WuZeming 2004-03-19
  • 打赏
  • 举报
回复
试试写一个类继承Authenticator,实现getPasswordAuthentication方法,然后在 Session.getInstance第二个参数时使用该类的一个实例看看行不行。
内容概要:本文研究了一种周期感知LightGBM预测与NSGA-Ⅱ优化耦合的建筑群能源系统协同调度方法,旨在提升建筑群能源系统的低碳经济性和运行效率。该方法首先利用周期感知的LightGBM模型对建筑群的能源负荷与可再生能源出力进行高精度时序预测,充分挖掘数据中的周期性规律,显著提高预测准确性;随后,结合多目标优化算法NSGA-Ⅱ,构建协同调度模型,综合考虑经济成本、碳排放和能源利用率等多个目标,求解得到一组帕累托最优调度方案,实现多目标间的均衡优化。研究通过Python编程实现了完整的预测与优化流程,并在实际场景中验证了所提方法在降低系统运行成本和减少碳排放方面的有效性。; 适合人群:具备一定Python编程基础,从事电力系统、能源管理、智能优化或机器学习相关领域的研究人员与工程技术人员,尤其适合关注多目标优化与时间序列预测融合应用的硕士、博士研究生及科研工作者。; 使用场景及目标:①应用于建筑群、园区等多主体能源系统的协同调度与低碳优化;②实现对光伏、负荷等具有强周期性特征的时间序列数据进行精准预测;③解决能源调度中经济性、环保性等多目标相互冲突的优化问题,获得兼顾各方需求的调度策略。; 阅读建议:此资源以实际代码实现为核心,建议读者在学习过程中结合Python代码,重点理解周期特征提取、LightGBM模型构建、NSGA-Ⅱ算法应用及多目标优化结果分析等关键环节,并尝试在不同场景下复现和调整参数,以深化对方法原理与工程应用的理解。

536

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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