请帮忙看看出错的代码。错误异常System.Runtime.InteropServices.COMException:

风渐寒 2004-11-16 03:11:10
这段代码以前用VB或是C#都可以得到给定用户的邮件及新邮件数目。一段时间没用过后,现在居然出错了。在WEB中注册用户和邮箱的代码也不能用了。没有更改EXCHANGE配置。
c#
int i=0;
string user="admin";
string password="12345";
string sMailBoxURL;
ActiveDs.WinNTSystemInfo objNTInfo=new ActiveDs.WinNTSystemInfoClass();
ADODB.Record objRec=new ADODB.RecordClass();
ADODB.Recordset objRS=new ADODB.RecordsetClass();
sMailBoxURL = "http://"+objNTInfo.PDC+"/exchange/"+user+"/收件箱";
objRec.Open(sMailBoxURL,"",ADODB.ConnectModeEnum.adModeRead,ADODB.RecordCreateOptionsEnum.adOpenIfExists,ADODB.RecordOpenOptionsEnum.adOpenSource,user,password);
objRS=objRec.GetChildren();
if(!objRS.BOF)
{
objRS.MoveFirst();
while(!objRS.EOF)
{
i++;
objRS.MoveNext();
}
Response.Write (i);
Response.Write("您有" + objRec.Fields["urn:schemas:httpmail:unreadcount"].Value + "封新邮件,请注意查收!");
}
else
Response.Write("没有您的邮件");
vb.net
Dim objRec As ADODB.Record
Dim objRS As ADODB.Recordset
Dim sMailBoxURL As String
Dim i As Integer
i = 0
objRec = New ADODB.Record
objRS = New ADODB.Recordset
sMailBoxURL = "http://fireball/exchange/administrator/收件箱"
objRec.Open(sMailBoxURL, , ADODB.ConnectModeEnum.adModeReadWrite, ADODB.RecordCreateOptionsEnum.adOpenIfExists, , "administrator", "7Y7R1SQ")
objRS = objRec.GetChildren
objRS.MoveFirst()
Do Until objRS.EOF
Response.Write("<br>" & objRS.Fields.Item("DAV:displayname").Value & "</br>")
Response.Write(objRS.Fields.Item("DAV:contentclass").Value)
i = i + 1
objRS.MoveNext()
Loop
objRS.Close()
Response.Write(objRec.Fields("DAV:childcount"))
Response.Write("<br><a href='http://fireball/exchange/administrator'>您共有" & i & "封邮件,请注意查收!其中有" & objRec.Fields("urn:schemas:httpmail:unreadcount").Value & "封邮件未阅读")
创建用户代码:
Dim n As Integer
Dim sLDAP As String
Dim sMailLDAP As String
Dim objCDOPerson As CDO.Person
objCDOPerson = New CDO.Person

Dim objinfo As New ActiveDs.ADSystemInfo
Dim szaDomTokens() As String
Dim szDomainDN As String
Dim szLdapDomain As String
Dim szDomainName As String
szDomainName = objinfo.DomainDNSName
szaDomTokens = Split(szDomainName, ".", -1, 1)
szDomainDN = Join(szaDomTokens, ",dc=")
szLdapDomain = "dc=" & szDomainDN

sLDAP = "LDAP://fireball/CN=jjyy,CN=Users," & szDomainDN

With objCDOPerson
.FirstName = "yy"
.LastName = "jj"
.Fields("userAccountControl").Value = 66048 '启用该帐户
.Fields("userPrincipalName").Value = "jjyy"
.Fields.Update()
.DataSource.SaveTo(sLDAP, , , , , "administrator", "12345")
End With

sMailLDAP = "LDAP://fireball/CN=Mailbox Store (FIREBALL),CN=First Storage Group,CN=InformationStore,CN=FIREBALL,CN=Servers,CN=First Administrative Group,CN=Administrative Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration," & szLdapDomain
Dim objCDOEXMMailbox As CDOEXM.IMailboxStore
objCDOEXMMailbox = objCDOPerson
objCDOEXMMailbox.CreateMailbox(sMailLDAP)

With objCDOPerson
.Email = "SMTP:jjyy@fire.lgyw.com"
.Fields("mailnickname").Value = "jjyy"
.Fields("userPassword").Value = "12345"
.Fields.Update()
.DataSource.Save()

End With

objCDOEXMMailbox = Nothing
objCDOPerson = Nothing
...全文
275 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
miaomiaoga 2005-02-08
  • 打赏
  • 举报
回复
老外的大把多。
Proyang 2004-12-06
  • 打赏
  • 举报
回复
兄弟,知道哪个网站,有关于exchange开发的资料多一点的
风渐寒 2004-11-24
  • 打赏
  • 举报
回复
谢谢。最近终于有时间来处理这个问题了。
第一段中:查找新邮件数, objRec.Open(sMailBoxURL, , ADODB.ConnectModeEnum.adModeReadWrite, ADODB.RecordCreateOptionsEnum.adOpenIfExists, , "administrator", "7Y7R1SQ")
这里应添加一个参数。 objRec.Open(sMailBoxURL, , ADODB.ConnectModeEnum.adModeReadWrite, ADODB.RecordCreateOptionsEnum.adFailIfNotExists, ADODB.RecordOpenOptionsEnum.adOpenSource, "administrator", "7Y7R1SQ")

注册用户和邮箱的,我把LDAP的地址给错了。
Dim objinfo As New ActiveDs.ADSystemInfo
Dim szaDomTokens() As String
Dim szDomainDN As String
Dim szLdapDomain As String
Dim szDomainName As String
szDomainName = objinfo.DomainDNSName
szaDomTokens = Split(szDomainName, ".", -1, 1)
szDomainDN = Join(szaDomTokens, ",dc=")
szLdapDomain = "dc=" & szDomainDN

sLDAP = "LDAP://fireball/CN=jjyy,CN=Users," & szDomainDN
应改为:sLDAP = "LDAP://fireball/CN=jjyy,CN=Users," & szLdapDomain
zhangfanfan 2004-11-19
  • 打赏
  • 举报
回复
你是访问Exchange邮箱,程序在哪行出错;
你可以试用WEBDAV访问Exchange邮箱;

535

社区成员

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

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