vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Mehrere Empfänger mit MAPI und Outlook 
Autor: DustyD.
Datum: 08.08.21 17:03

Hallo Community,

ich habe ein Problem, mehrere Empfänger mit Outlook via MAPI zu adressieren:

Ursprünglich habe ich versucht, die Empfängerliste einfach als String zu übergeben:

  Empfaenger="mail1@domain.tld;mail2@domain.tld;mail3@domain.tld"
  MAPIMessages1.Compose
  MAPIMessages1.RecipDisplayName = Empfaenger
  MAPIMessages1.RecipAddress = Empfaenger
  MAPIMessages1.RecipType = mapToList
Da bekomme ich als Fehlermeldung "unknown recipient" als Ergebnis des Versands, WENN der Mailclient Outlook ist. Thunderbird hat in der Adresszeile exakt den Inhalt der Variable "Empfaenger" und versendet die Mails auch.

Dann habe ich irgendwo gelesen, mann müsse den "RecipIndex" des MAPIMessages-Control setzen. Also habe ich den Code angepasst:

  Empfaenger="mail1@domain.tld;mail2@domain.tld;mail3@domain.tld"
  FeldEmpfaenger = Split(Empfaenger, ";")                                 
 
  For i = 0 To UBound(FeldEmpfaenger)
    MAPIMessages1.RecipIndex = MAPIMessages1.RecipCount  'geht auch nicht mit 
    ' "i" 
    MAPIMessages1.RecipDisplayName = FeldEmpfaenger(i)
    MAPIMessages1.RecipAddress = FeldEmpfaenger(i)
    MAPIMessages1.RecipType = mapToList
  Next
Mit dieser Variante öffnet sich Outlook und hat in der Empfängerliste auch

mail1@domain.tld; mail2@domain.tld; mail3@domain.tld

stehen (mit Leerstelle zwischen den einzelnen Adressen, was mir zeigt, dass Outlook die Empfängerliste selbst erstellt hat). Wenn ich die Mail nun aber versenden möchte, passiert Folgendes:

1. die Mail wird an die letzte Adresse in der Empfängerlist versendet (mail3@domain.tld)
2. im Posteingang von Outlook erscheint eine Mail von "Systemadministrator", in der mir mitgeteilt wird, dass die Mail an die ersten beiden Adressen nicht versandt werden konnte ("Keines Ihrer E-Mail-Konten kann Nachrichten an diesen Empfänger senden.")

In Thunderbird erscheinen mit der 2. Methode alle Empfänger in getrennten "An:"-Feldern, der Versand funktioniert auch hier problemlos.

Ich habe dann noch etwas weiter experimentiert: Wenn ich in der Outlook-Empfängerzeile von Hand weitere Empfänger hinzufüge, wird die Mail an die letzte übergebene Adresse und an die manuell hinzugefügten versendet. Deswegen vermute ich, dass Outlook da noch irgendeine Info fehlt. Getestet habe ich mit Oulook 2019.

Was mache ich falsch, bzw. hatte jemand schon mal ein ähnliches Phänomen?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrere Empfänger mit MAPI und Outlook 
Autor: Souffleurlos
Datum: 11.08.21 13:54

Hallo,

MapiMessages.To = Empfaenger
MapiMessages.Send 'oder MapiMessages.Display zum Anzeigen der Email)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrere Empfänger mit MAPI und Outlook 
Autor: DustyD.
Datum: 11.08.21 21:02

Danke für den Input, aber die Methode "To" gibt es in den "Microsoft MAPI Controls 6.0" (msmapi32.ocx) nicht?!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrere Empfänger mit MAPI und Outlook 
Autor: Klaus1704
Datum: 12.08.21 13:10

Hallo,
das MAPIMessages hat eine Variable
.RecipType
, da kann das "To" (oder "CC") hinein.
Die Empfänger hochzählen muss man nur mit dem
.RecipIndex
- einfach mit einer Zählschleife durch Deiner Empfängerliste (begonnen bei 0), Beispiel:

    MAPISession1.SignOn
 
    With MAPIMessages1
        .SessionID = MAPISession1.SessionID
        .Compose
        .MsgSubject = sTitel
        For n = 0 To lstNames.ListCount - 1
            .RecipIndex = n
            .RecipType = mapToList
            .RecipDisplayName = lstNames.List(n)
            .ResolveName
        Next n     
 
        .MsgNoteText = sSubject
        .Send (True)
    End With
 
    MAPISession1.SignOff
Gruß
Klaus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrere Empfänger mit MAPI und Outlook 
Autor: DustyD.
Datum: 18.10.21 18:30

Hallo Klaus,

bin jetzt erst dazu gekommen, mich noch mal mit meinem "Outlook-Problem" zu befassen und habe mir Deinen Code einmal angeschaut. Die Lösung war die ResolveName-Eigenschaft, die Outlook scheinbar seit Version 2013 benötigt, um eine Empfängeradresse korrekt auflösen zu können. Bei Thunderbird geht's wie gesagt auch ohne.

Jedenfalls hast Du mir mit Deinem Beispielcode geholfen, das Problem zu lösen. DANKE!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel