C#調用exchange的一段代碼,請各位幫忙轉為C#語言的。
dxjhq 2005-01-04 10:01:00 這是我在VB6中寫的,我現在想改用C#,但老是有錯誤
必須引用cdo1.2
Check = False
Const PR_EMS_AB_HOME_MTA = &H8007001E
Dim objSession As MAPI.Session
Dim objOutbox As Folder
Dim objMessage As Message
Dim objRecipient As Recipient
Dim strProfileInfo As String
Dim strServer As String
Dim strMyMailbox As String
Dim strRawServerInfo As String
Dim intStartOfServer As Integer
Dim intNextSlash As Integer
Dim strHomeServer As String
strHomeServer = ""
Set objSession = New MAPI.Session
strServer = "PRCCEI" 'Exchange Server Name
strMyMailbox = "CEI-PFG" 'your profile
strProfileInfo = strServer & vbLf & strMyMailbox
objSession.Logon "", "", False, 0, True, True, strProfileInfo 'Login Email Server
Set objOutbox = objSession.Outbox
Dim aaa As AddressList
i = 0
Set aaa = objSession.AddressLists(1)
Dim bbb As AddressEntry
For Each bbb In aaa.AddressEntries
i = i + 1
'MsgBox bbb
Combo1.AddItem (bbb)
Next
Set objMessage = objOutbox.Messages.Add
Set objRecipient = objMessage.Recipients.Add
With objRecipient
.Name = Text1.Text 'Email Address that will be Checked
.Resolve 0 'Resolve the email address
'Find host exchange server name of the mailbox
strRawServerInfo = .AddressEntry.Fields(PR_EMS_AB_HOME_MTA)
intStartOfServer = InStr(1, strRawServerInfo, _
"/cn=Configuration/cn=Servers/cn=") + _
Len("/cn=Configuration/cn=Servers/cn=")
intNextSlash = InStr(intStartOfServer, _
strRawServerInfo, _
"/")
strHomeServer = Mid(strRawServerInfo, _
intStartOfServer, _
intNextSlash - intStartOfServer)
'if the exchange server name has found successfully,the email address is valided,else invalided
' objMessage.Sender = "pfg"
objMessage.Subject = "test"
If strHomeServer <> "" Then
Check = True
objMessage.Send
Else
MsgBox "Address error!"
End If
End With
objSession.Logoff
Set objRecipient = Nothing
Set objMessage = Nothing
Set objOutbox = Nothing
Set objSession = Nothing