VB.Net – Outlook Mail versenden mit Outlook.Application

So wird es gemacht:

    '============================================
    ' VB.NET Beispiel in Visual Basic .Net
    ' © wilfried.bitz@bridgesolution.de
    '============================================
    Public Function OUTLOOK_Mail_Send( _
        ByVal strTo As String, _
        ByVal strCc As String, _
        ByVal strBcc As String, _
        ByVal strSubject As String, _
        ByVal strBody As String, _
        ByVal strAttachment As String, _
        ByVal blnSave As Boolean, _
        ByVal blnDialog As Boolean) As Boolean
 
        '----------------------------------------
        Dim strProzedur As String = "Outlook_Mail_Send"
        '----------------------------------------
 
        '----------------------------------------
        Dim oApp As Outlook.Application = Nothing
        Dim oInbox As Outlook.MAPIFolder = Nothing
        Dim oItems As Outlook.Items = Nothing
        '----------------------------------------
 
 
        Try
 
            '------------------------------------
            'Create Outlook application. 
            oApp = New Outlook.Application()
            Dim oNS As Outlook.NameSpace = oApp.GetNamespace("mapi")
            oNS.Logon("", Missing.Value, False, True) ' TODO: 
            Dim oProfileName As String = oNS.CurrentProfileName
            Dim strPofileName As String = oApp.DefaultProfileName
            Dim strOutlookVersion As String = oApp.Version
            Dim fdMail As Outlook.MAPIFolder
            '------------------------------------
 
            '------------------------------------
            'create a new MailItem object
            Dim newMail As Outlook.MailItem
            'gets defaultfolder for my Outlook Outbox
            fdMail = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail)
            'assign values to the newMail MailItem
            newMail = fdMail.Items.Add(Outlook.OlItemType.olMailItem)
            If strAttachment <> "" Then
                newMail.Attachments.Add(strAttachment)
            End If
            newMail.Subject = strSubject
            newMail.Body = strBody
            newMail.To = strTo
            newMail.CC = strCc
            newMail.BCC = strBcc
            'adds it to the draft box
            newMail.SaveSentMessageFolder = fdMail
            newMail.Save()
            'adds it to the outbox
            If blnDialog Then
                newMail.Display()
            Else
                If Not strTo <> "" Then
                    newMail.Display()
                Else
                    newMail.Send()
                End If
            End If
            '------------------------------------
 
            '------------------------------------
            If Not blnSave Then
                'Mail im Ordner "Gesendete Objekte" wieder löschen
                newMail = fdMail.Items.GetFirst()
                Dim intMax As Integer
                If Not newMail.Subject = strSubject Then
                    Do
                        intMax = intMax + 1
                        System.Windows.Forms.Application.DoEvents()
                        newMail = fdMail.Items.GetFirst()
                    Loop While newMail.Subject <> strSubject And intMax < 200
                End If
                If newMail.Subject = strSubject Then
                    Dim blnOK As Boolean = _
                    OUTLOOK_Mail_Delete(newMail.EntryID)
                End If
            End If
            '------------------------------------
 
            '------------------------------------
            OUTLOOK_Mail_Send = True
            oApp = Nothing
            oNS = Nothing
            oItems = Nothing
            '------------------------------------
 
 
        Catch ex As Exception
            '------------------------------------
            MsgBox(ex.Message)
            '------------------------------------
 
        End Try
 
    End Function

Spendierst du mir eine Tasse Kaffee? Ich würd mich riesig freuen. DANKE !! 🙂

[wpedon id=2074]


2 Kommentare

melanie · 6. März 2015 um 12:28

Auch wenn dieser Artikel schon sehr alt ist, wäre es toll wenn es hier ein downloadfähiges Demo gäben würde 🙂

Hier wird beispielsweise eine Routine „OUTLOOK_Mail_Delete“ verwendet, die nicht definiert wurde – zwar kann man diese auch auf diesem „Block“ finden aber ein entsprechender Hinweis wäre toll gewesen!

Gruß
Melanie

    admin · 24. Juni 2015 um 12:59

    Danke für den Hinweis !!!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.