Mailversand aus vorgegebener Mailbox-Outlook 2013

Bild

Betrifft: Mailversand aus vorgegebener Mailbox-Outlook 2013
von: Adleano
Geschrieben am: 30.07.2015 09:15:34

Hallo zusammen,
ich muss Mails von einer bestimmten Mailbox (als Absender) versenden. Aktuell verwende ich folgenden Code, um die in Outlook vorhandenen Mailboxen zu ermitteln/prüfen:


Public Function CheckMailAccountOutlookVerbunden(strMailaccount As String) As Long
  Dim OutApp As Object
  ' Set olApp = CreateObject("Outlook.Application")
    Dim i As Long
    Set OutApp = CreateObject("Outlook.Application")                                      ' _
Neues Outlook Application-Objekt
    For i = 1 To OutApp.Session.Accounts.Count                                            'Alle  _
 _
 _
Konten durchlaufen
        If StrComp(strMailaccount, OutApp.Session.Accounts.Item(i), vbTextCompare) = 0 Then
           CheckMailAccountOutlookVerbunden = i
           Exit Function
        End If
    Next i
    CheckMailAccountOutlookVerbunden = 0
End Function


Der Absenderaccount wird dann über folgende Zeile festgelegt:

olMail.SendUsingAccount = OlApp.Session.Accounts.Item(lngAccountNumber)

Im Outlook sind beide Accounts zu sehen, allerdings ermittelt diese FUnktion nur die erste (persönliche) Mailbox. Die zusätzlich verbundene Non-Personal-Mailbox wird nicht erkannt.
Hat jemand eine Idee wo der Fehler liegt?

Bild

Betrifft: AW: Mailversand aus vorgegebener Mailbox-Outlook 2013
von: mumpel
Geschrieben am: 30.07.2015 09:46:34
Hallo!
Nutze den Anzeigenamen der Ordnerstruktur (so wie die Datendatei beannt wurde). Da Du ohnehin immer das selbe Konto benutzt musst Du nicht erst die Ordner durchlaufen um danach zu suchen.

Public Sub EmailErstellen()
  Dim olApp     As Object
  Dim olOldBody As String
  
  Set olApp = CreateObject("Outlook.Application")
      With olApp.CreateItem(0)
            Set .SendUsingAccount = .Session.Accounts.Item("Kontoname")
                .GetInspector.Display
                olOldBody = .htmlBody
                .To = "test@server.de"
                .Subject = "Test"
                .htmlBody = "Hallo,<br><br>nur ein Test.<br><br>" & _
                            "Gruß, Max<br><br>" & olOldBody
      End With
End Sub

VBA/HTML - CodeConverter für Office-Foren, AddIn für Office 2002-2013 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:mumpel

Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0


Gruß, René

Bild

Betrifft: AW: Mailversand aus vorgegebener Mailbox-Outlook 2013
von: Adleano
Geschrieben am: 30.07.2015 11:08:28
Hallo Mumpel,
vielen Dank für das Snippit. Hat leider nicht funktioniert.
Ich übergebe den Namen der Mailbox (name@domain.topleveldomain). Dieser wird auch im Ordnerexplorer der Mailbox angezeigt. Danach versende die Mail dann mit ".send". Die Mail geht auch raus, jedoch wird als Absenderaccount der Standardaccount des Anwenders gezogen, statt die NPM.

Bild

Betrifft: AW: Mailversand aus vorgegebener Mailbox-Outlook 2013
von: mumpel
Geschrieben am: 30.07.2015 11:46:29
Sind das eigenständige PST-Dateien/Ordnerstrukturen je Postfach? Oder sind alle Mailadressen in einem Postfach? Lass mal dass".Send" weg, also Email nur anzeigen, und schaue ob überhaupt umgestellt wird. Es wird immer zuerst die Standardadresse genommen und durch den Code erst umgestellt. Auf manchen Systemen funktioniert das aber nicht sauber.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Mailversand aus vorgegebener Mailbox-Outlook 2013"