Konten in Thunderbird per Mako VBA eritteln

  • Um Rückfragen vorzubeugen, bitten wir um folgende Angaben:

    • Thunderbird-Version: in der Regel die neueste
    • Betriebssystem + Version: diverse, W7 bis W10, MAC
    • Kontenart (POP / IMAP): Beide
    • Postfach-Anbieter (z.B. GMX): GMX
    • Eingesetzte Antiviren-Software: Diverse
    • Firewall (Betriebssystem-intern/Externe Software):
    • Router-Modellbezeichnung (bei Sende-Problemen):

    Hallöchen

    in unserem Verein werden Aktionen per Mail an einzelne Mitglieder verschickt. Dafür verantwortlich sind einige Koordinatoren. Die Koordinatoren benützen Thunderbird oder Outlook mit verschiedenen eigenen Konten neben dem Vereinskonto. Die Mails werden per VBA-Makros aus Excel generiert. Dies funktioniert (fast) bestens. Das Problem: als Absender sollte immer das Vereinskonto verwendet werden. Bei Outlook ist das gelöst, wie kann nun die Sequenznummer des Vereinskonto bei Thunderbird ermittelt werden? (Die kann bei jedem Koordinator anders sein)

    Beispiel der vorhandenen Konten bei einem Koordinator :

    aaa.bbb@gmx.ch

    vereinskonto@gmx.ch

    eee.fff@abc.ch


    With NeueThunderbirdEMail

    .EmailFormat = 1

    .SendenVonKonto = 2 ' <= Hier ist die Sequenznummer für Account vereinskonto@gmx.ch

    .Empfaenger = "xyz@gmx.ch"

    .....

    .....

    .....

    End With


    Für Outlook sieht der Code für die Ermittlung der Sequnznummer so aus:


    For i = 1 To objOutlook.Session.Accounts.Count

    If Left(UCase(objOutlook.Session.Accounts.Item(i)), 6) = "Verein"Then

    Set objOutlookAccount = objOutlook.Session.Accounts.Item(iac)

    Exit For

    End If

    Next i ' i = 1 To objOutlook.Session.Accounts.Count


    Wie muss nun der entsprechende Code für Thunderbird aussehen?


    Gruss

    yogi

  • Hallo,


    zeig doch mal bitte deinen bereits funktionierenden Code für die Erstellung einer E-Mail (für Thunderbird).


    Als ich das letzte Mal via VBA E-Mails für Thunderbird und Outlook erstellt habe (ist schon ein paar Jahre her), gab es noch nicht die Möglichkeit, "echte Thunderbird-Objekte" zu benutzen

    Code
    1. With NeueThunderbirdEMail
    2.    .EmailFormat = 1

    hast du Verweise verwendet? Falls ja: welche?


    Ich kenne bis jetzt nur die beiden Möglichkeiten: das Mailto-Protokoll zu verwenden quasi einen Hyperlink, oder über die Kommandozeilenparameter (3.) zu verwenden.

    Meinem Kenntnisstand nach ist es nicht möglich, über diese beiden Möglichkeiten die Absenderadresse auszuwählen. Aber ich lasse mich gerne eines besseren belehren. Doch bitte zeig mir zunächst deinen kompletten Code für den Thunderbird, damit ich weiß, wo ich anfangen muss und evtl. auf den neusten Stand komme.



    Ansonsten könnten AddOns wie "correctIdentity" oder "virtualIdentity" helfen. correctIdentiy habe ich noch nie verwendet. Und ob das Zusammenspiel vom Kommandozeilenaufruf und Virtual-Identity funktioniert, habe ich auch noch nicht ausprobiert (sitze gerade an einem Linuxrechner).



    Da fällt mir noch ein: man könnte auch ein extra Profil mit nur dem einen Vereins-Account erstellen.

    Dann würde man vielleicht zunächst Thunderbird beenden und das spezielle Profil starten. Oder mit vielleicht mit der -no-remote Option das spezielle zusätzlich starten (weiß nicht, was weniger schlecht ist), bevor man die E-Mail erstellt.

    Das E-Mailprogramm zunächst zu beenden und dann wieder zu öffnen gefällt mir nicht so recht.




    Eigentlich empfehle ich immer, statt Thunderbird ein extra dafür gemachtes Programm zu verwenden. Es gibt z.B. blat.exe, ein kleines Kommandozeilenprogramm, das unter Windows E-Mails versenden kann. Arbeitet man mit IMAP stört sich daran weder Thunderbird, noch Outlook, noch sonst ein E-Mailclient. Arbeitet man mit POP3, müsste man eben die E-Mail an sich selbst im BCC senden. Um die gesendete E-Mail dann wieder im Client (Thunderbird oder Outlook oder ... ) zu haben.


    Viele Grüße,

    Ulrich

  • Tach Ulrich


    erstmals Danke für die Info.


    Der Code ist recht simpel:

    Das funktioniert bestens. Das Problem, als Absender wird das Standardkonto des Senders verwendet, und nicht das Vereinskonto. Es muss aber das Vereinskonto sein damit Antworten der Empfänger im Vereinskonto erscheinen. Was im Code noch fehlt ist die Angabe des Senderkontos.


    Ein externes Programm wie blat.exe ist nicht akzeptabel, die Koordinatoren wollen die Mails vor dem Senden ansehen und allenfalls noch editieren.


    Gruss

    yogi

  • Tach Drehmoment


    Vielen Dank für den Tip, es hat geklappt!


    Der Code sieht nun so aus:


    Gruss

    yogi

  • Schön, dass es klappt.

    Noch ein Hinweis. Dein Script sucht nach dem Default-Profil und holt daraus letztendlich die ID. Falls die Anwender mehrere Profile haben, muss diese ID nicht unbedingt mit der des aktiven Profils übereinstimmen. Eine wirklich gute Idee, wie man das jeweils aktive Profi ermitteln kann, habe ich nicht. Mir fällt dazu nur ein, dass du es daran erkennen kannst, dass die zugeörige Lock-Datei vorhanden ist und auch daran, dass die prefs.js einen aktuellen Zeitstempel hat.