Microsoft Knowledge Base Article
This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved.
Terms
of Use |
Trademarks
Article ID: 314187 - Last Review: April 29, 2004 - Revision: 1.2
How to send a simple e-mail by using XMLHTTP and WebDAV in Visual Basic .NET
This article was previously published under Q314187
INTRODUCTION
This article describes how to programmatically send a simple
e-mail message by using the
XMLHTTP object and the Web Distributed Authoring and Versioning (WebDAV)
protocol in Microsoft Visual Basic .NET. The sample code in the "More
Information" section performs the following steps:
- Creates an XMLHTTP object.
- Calls the Open method of the XMLHTTP object to open the mail submission Uniform Resource Identifier
(URI) of the user.
- Builds up a request string, and then puts the mail headers
and the body message in the request string.
- Sends the request string to the Exchange server by using
the WebDAV PUT method.
MORE INFORMATION
To programmatically send a simple e-mail message, follow
these steps:
- Start Microsoft Visual Studio .NET.
- On the File menu, click
New, and then click Project.
- Under Visual Basic Projects types, click
Console Application.
By default, Module1.vb is created. - Add
a reference to Microsoft XML 3.0 or
to Microsoft XML 4.0. To do this, follow these steps:
- On the Project menu, click Add
Reference.
- On the COM tab, click
Microsoft XML v3.0
or Microsoft XML v4.0, and then click
Select.
- In the Add References dialog box,
click OK to accept your selections.
- Click Yes if you receive a prompt to
generate wrappers for the libraries that you selected.
- In the code window, replace the existing code with the
following code:
Module Module1
Sub Main()
' To use MSXML 3.0, use the following Dim statements:
Dim xmlReq As MSXML2.XMLHTTP30 = New MSXML2.XMLHTTP30()
' To use MSXML 4.0, use the following Dim statements:
'Dim xmlReq As MSXML2.XMLHTTP40 = New MSXML2.XMLHTTP40()
' TODO: Replace with your Sender and Recipient information.
Dim strSenderAlias As String = "UserAlias"
Dim strFrom As String = "UserAlias@microsoft.com"
Dim strTo As String = "to@microsoft.com"
Dim strSubject As String = "Send Using Webdav"
Dim strBody As String = "Hello World"
Dim sUri As String
'TODO: Replace ExchServer with the name of your Exchange Server.
sUri = "http://ExchServer/Exchange" & strSenderAlias & "/##DavMailSubmissionURI##"
'TODO: Replace with the domain, the username, and the password for the sender.
xmlReq.open("PUT", sUri, False, "UserDomain\UserAlias", "UserPassword")
Dim mySentTime As DateTime = New DateTime()
Dim strReq As String
strReq = "From: " & strFrom & vbNewLine & _
"To: " & strTo & vbNewLine & _
"Subject: " & strSubject & vbNewLine & _
"Date: " & DateTime.Today.Now & vbNewLine & _
"X-Mailer: My DAV mailer" & vbNewLine & _
"MIME-Version: 1.0" & vbNewLine & _
"Content-Type: text/plain" & vbNewLine & _
"Charset = ""iso-8859-1""" & vbNewLine & _
"Content-Transfer-Encoding: 7bit" & vbNewLine & vbNewLine & _
strBody
xmlReq.setRequestHeader("Translate", "f")
xmlReq.setRequestHeader("Content-Type", "message/rfc822")
xmlReq.setRequestHeader("Content-Length", "" & strReq.Length)
xmlReq.send(strReq)
Console.WriteLine(xmlReq.status)
Console.WriteLine(xmlReq.statusText)
Console.WriteLine(xmlReq.responseText)
xmlReq = Nothing
End Sub
End Module - Search for "TODO" in the code, and then modify the code for
your environment.
- Press F5 to build and to run the program.
- Verify that the e-mail message has been sent and
received.
REFERENCES
For additional information about WebDAV, visit the
following Microsoft Developer Network (MSDN) Web site:
For additional information about the Exchange Mail Submission URI,
visit the following MSDN Web site:
APPLIES TO
- Microsoft Visual Basic .NET 2003 Standard Edition
- Microsoft Visual Basic .NET 2002 Standard Edition
- Microsoft Exchange 2000 Server Standard Edition
- Microsoft XML Core Services 4.0
- Microsoft XML Parser 3.0
Community Feedback System
Very often, it takes hours to solve a problem. Very often, you've looked high
and low, and have tried a lot of solutions. When you finally found it, chances
are, it was because someone else helped you. Here's your chance to give back.
Use our community feedback tool to let others know what worked for you and what
didn't.
Please also understand that the community feedback system is not warranted to be
correct, it's simply a system that we've built to let people try and help each
other. If something in a feedback response doesn't make sense to you, or you're
not comfortable making changes that the feedback talks about (like registry
edits), please consult a professional.
Thank you for using kbAlertz.com Feedback System.
-- Scott Cate
Be the first to leave feedback, to help others about this knowledge base
article.
(Optional) Name
(Optional)
Public URL Or Email
Comments
No
HTML -- Text Only Please