Microsoft Knowledge Base Email Alertz

KBAlertz.com: (314188) - Describes how to use Microsoft XML 3.0 to search for the URI property of a sender's e-mail submission and to send an e-mail message by using this property in Visual Basic .NET.

Receive Microsoft Knowledge Base articles by E-Mail?

Every night we scan the Microsoft Knowledge Base. If technologies you're interested in are updated, we'll send you an e-mail. You only get one e-mail a day, and only when new articles are added.

Click here to create a
FREE account
Already have an account?
[Click here to Login]

Search KbAlertz

Advanced Search

Webmasters
Put kbAlertz on your website.
[ Click Here for more! ]





ASP.NET 3.5 Web Hosting with Windows 2008 and SQL 2008: Click Here!
Discount ASP.NET Hosting
ASP.NET 2.0 and 3.5
Windows2008 and SQL2008
US and UK Hosting
The ad says 3 - but KBAlertz referrals get
** SIX MONTHS FREE **


Bug Tracking Software
For bug tracking software or defect tracking software or issue tracking software, visit Axosoft.


Community Site



We Send hundreds of thousands of emails using ASP.NET Email



Expert Web Design & Graphic Design
Design44.com

ASP.NET 3.5 Web Hosting with Windows 2008 and SQL 2008: Click Here!
Discount ASP.NET Hosting
ASP.NET 2.0 and 3.5
Windows2008 and SQL2008
US and UK Hosting
The ad says 3 - but KBAlertz referrals get
** SIX MONTHS FREE **




Mentioned In








Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks




Article ID: 314188 - Last Review: June 29, 2007 - Revision: 2.2

How to search for the URI property of a sender's e-mail submission and to send an e-mail message by using this property in Visual Basic .NET

This article was previously published under Q314188

SUMMARY

This article describes how to use Microsoft XML 3.0 to search for the URI property of a sender's e-mail submission and to send an e-mail message by using this property in Microsoft Visual Basic .NET.

MORE INFORMATION

To use Microsoft XML 3.0 to search for the URI property of a sender's e-mail submission and to send an e-mail message by using this property in Visual Basic .NET, follow these steps.

Note This sample code uses Microsoft XML 3.0, but the information also applies to Microsoft XML 4.0.
  1. Start Microsoft Visual Studio .NET.
  2. On the File menu, point to New, and then click Project.
  3. In the Visual Basic Projects list, click Console Application.

    By default, the Module1.vb file is created.
  4. Add a reference to Microsoft XML 3.0. To do so, follow these steps:
    1. On the Project menu, click Add Reference.
    2. Click the COM tab, click Microsoft XML v3.0, and then click Select.
    3. In the Add References dialog box, click OK.
    4. If you are prompted to generate wrappers for the libraries that you selected, click Yes.
  5. In the code window, replace the existing code with the following:
    Imports System.Reflection
    
    Module Module1
        Sub Main()
            'TODO: Replace with the name of the computer that is running Microsoft Exchange 2000 Server.
            Dim strExchSvr As String = "<ExchServerName>"
    
            'TODO: Replace with the alias of the sender.
            Dim strAlias As String = "<UserAlias>"
    
            'TODO: Replace with the domain name and the alias of the sender.
            Dim strUserName As String = "<UserDomain\UserAlias>"
    
            'TODO: Replace with the sender's password.
            Dim strPassWord As String = "<UserPassword>"
    
            Dim sMailUrl As String
            sMailUrl = FindSubmissionURL(strExchSvr, strAlias, strUserName, strPassWord)
            If (sMailUrl <> "") Then
                ' TODO: Replace with your mail information.
                Dim strFrom As String = "from@example.com"
                Dim strTo As String = "to@example.com"
                Dim strSubject As String = "Send Using Webdav"
                Dim strBody As String = "Hello World"
    
                Dim oXMLHttp As MSXML2.XMLHTTP30 = New MSXML2.XMLHTTP30()
                oXMLHttp.open("PUT", sMailUrl, False, strUserName, strPassWord)
    
                Dim mySentTime As DateTime = New DateTime()
                Dim sQuery As String
                sQuery = "From: " & strFrom & vbNewLine & _
                 "To: " & strTo & vbNewLine & _
                 "Subject: " & strSubject & vbNewLine & _
                 "Date: " & Convert.ToDateTime("9/11/2001 11:45 AM") & 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
    
                oXMLHttp.setRequestHeader("Translate", "f")
                oXMLHttp.setRequestHeader("Content-Type", "message/rfc822")
                oXMLHttp.setRequestHeader("Content-Length", "" & sQuery.Length)
    
                oXMLHttp.send(sQuery)
    
                Console.WriteLine(oXMLHttp.status)
                Console.WriteLine(oXMLHttp.statusText)
                Console.WriteLine(oXMLHttp.responseText)
    
                oXMLHttp = Nothing
            End If
        End Sub
    
        Private Function FindSubmissionURL(ByVal strExchSvr As String, ByVal strAlias As String, ByVal strUserName As String, ByVal strPassWord As String) As String
            Dim query As String
            Dim strURL As String
            Dim baseName As String = ""
            Dim xmlReq As MSXML2.XMLHTTP30 = New MSXML2.XMLHTTP30()
    
            Dim xmldom As MSXML2.DOMDocument = New MSXML2.DOMDocument()
            Dim xmlRoot As MSXML2.IXMLDOMElement
            Dim xmlNode As MSXML2.IXMLDOMNode
    
            'Create the DAV PROPFIND request.
            strURL = "http:/" & strExchSvr & "/exchange" & strAlias
    
            xmlReq.open("PROPFIND", strURL, False, strUserName, strPassWord)
            xmlReq.setRequestHeader("Content-Type", "text/xml")
            xmlReq.setRequestHeader("Depth", "0")
    
            query = "<?xml version='1.0'?>"
            query = query & "<a:propfind xmlns:a='DAV:'>"
            query = query & "<a:prop xmlns:m='urn:schemas:httpmail:'>"
            query = query & "<m:sendmsg/>"
            query = query & "</a:prop>"
            query = query & "</a:propfind>"
    
            xmlReq.send(query)
    
            Console.WriteLine(xmlReq.status)
            Console.WriteLine(xmlReq.statusText)
            Console.WriteLine(xmlReq.responseText)
    
            ' Process the result.
            If xmlReq.status >= 200 And xmlReq.status < 300 Then
    
                xmldom.loadXML(xmlReq.responseText)
                xmlRoot = xmldom.documentElement
                Dim i As Integer
    
                For i = 1 To xmlRoot.attributes.length
                    xmlNode = xmlRoot.attributes(i)
                    If xmlNode.text = "urn:schemas:httpmail:" Then
                        baseName = xmlNode.baseName
                        Exit For
                    End If
                Next
    
                xmlNode = xmlRoot.selectSingleNode("/" & baseName & ":sendmsg")
    
                Return xmlNode.text
            Else
                Console.WriteLine("Cannot find mail submission URL")
                Return ""
            End If
        End Function
    End Module
    
  6. Search for the TODO text string in the code, and then modify the code for your environment.
  7. Press the F5 key to build and to run the program.
  8. Make sure that the e-mail message has been sent and received.

REFERENCES

For more information, visit the following Microsoft Web site:
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx (http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx)

APPLIES TO
  • Microsoft Exchange 2000 Server Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft XML Parser 3.0
  • Microsoft XML Core Services 4.0
Keywords: 
kbhowto KB314188
       

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