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下是否还需要其它配置,请高手指点不胜感激!
...全文
722 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第二个参数时使用该类的一个实例看看行不行。
内容概要:本文研究了计及碳排放的多微网电能交互分布式运行策略,提出了一种基于交替方向乘子法(ADMM)的优化方法,旨在实现多微电网系统在满足能源供需平衡的同时降低碳排放。文中构建了包含分布式电源、储能系统、可控负荷及碳排放约束的多微网协同优化模型,通过ADMM算法将全局优化问题分解为各微网子系统独立求解的子问题,实现分布式协同调度,在保障各微网自治性的同时兼顾系统整体的经济性与低碳性。研究通过Matlab代码完成了算法仿真,验证了所提策略在提升能源利用效率、减少碳排放、增强系统鲁棒性与可扩展性方面的有效性,为低碳化、去中心化的能源互联网运行提供了理论支持与实践参考。; 适合人群:具备电力系统分析、优化理论及Matlab编程基础的科研人员、电气工程及相关专业的研究生,以及从事智慧能源、分布式能源系统规划与运行的工程技术人员。; 使用场景及目标:①应用于多微电网系统的分布式能量管理与协同优化调度;②支持“双碳”目标下的低碳电网运行策略设计与政策评估;③为ADMM等分布式优化算法在能源系统中的工程化应用提供完整的模型构建、算法实现与仿真验证案例。; 阅读建议:读者应结合Matlab代码深入理解ADMM算法的迭代流程、拉格朗日函数构造与收敛条件设定,重点关注模型中碳排放因子的引入方式、变量分解机制与子问题求解过程,建议通过调整微网数量、碳价参数及通信拓扑结构进行多场景仿真,以深化对分布式协同机制与环保经济权衡关系的理解。

536

社区成员

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

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