Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Email mit Lotus Notes versenden -> 2 Empfänger setzen? (https://www.delphipraxis.net/157701-email-mit-lotus-notes-versenden-2-empfaenger-setzen.html)

Piro 21. Jan 2011 13:51

Email mit Lotus Notes versenden -> 2 Empfänger setzen?
 
Schönen guten Tag,

ich versuche jetzt schon den halben Tag, eine Email aus meinem Delphiprogramm mit 2 Empfängern zu versenden über Lotus Notes (nachfolgend LN), welches ich mit OLE steuere.

Leider kann ich nur Emails mit einem Empfänger versenden. Sobald ich die 2 Emailaddresse hinzufüge, kommt LN damit nicht klar.

Beispiel: max@muster.de;test@test.de --> LN macht daraus <max@muster.de;test>@test.de

Ich habe schon eine Menge im Internet gelesen und erfahren, dass es eine Textliste ist für die Sender. Ich schaffe es aber nicht, dass es klappt.
Dann wollte ich das CopyTo Feld verwenden. Ich trägt er immer nur den 1. Buchstaben der Emailadresse ein. Würde das klappen, hätte ich schon mal eine Übergangslösung.

Hier mein Code.
Delphi-Quellcode:
procedure Tfrm_main.SendMailLotusNotes(const Subject, FileName, SenderEmail: String; CopyEmail: String; auto : Boolean);
var
 oSession : OleVariant; // Notes Session
 oDB     : OleVariant; // Notes Datenbank
 oDoc    : OleVariant; // Notes Document
 oRTitem : OleVariant; // Notes RichText Item
 oWS     : OleVariant; // Notes Workspace
 sMailserver : String;
 sMailFile  : String;
begin
 oSession := CreateOleObject('Notes.Notessession');

 sMailserver := '';
 sMailFile  := oSession.GETENVIRONMENTSTRING('Mailfile', True);

 oDB := oSession.GETDATABASE(sMailserver, sMailFile);

 oDoc := oDB.CREATEDOCUMENT;
 oDoc.SendTo := SenderEmail;
 oDoc.CopyTo := CopyEmail;

 oDoc.subject := Subject;
 oDoc.ReturnReciept := True;
 oDoc.SaveMessageOnSend := True;

 oDoc.Form := 'Memo';                                                                                                         oRTitem := oDoc.CREATERICHTEXTITEM('Body');
 oRTitem.EMBEDOBJECT(1454, '', FileName);

  case auto of
    True : begin
              // Direkter Versand
              oDoc.SEND(False); // False = versendet durch eine Person, True = versendet durch ein Script
            end;
    False : begin
              // Erstellt eine Mail, wenn kein automatischer Versand erfolgt
              oWS := CreateOleObject('Notes.NotesUIWorkspace');
              oWS.OpenDatabase(sMailserver, sMailFile);
              oWS.EDITDOCUMENT(True, oDoc);
            end;
  end;
end;
Aufruf:
Delphi-Quellcode:
...
SendMailLotusNotes(Report.subject, filename, 'max@muster.de;test@test.de', 'test@test.de', True);
...
Ich hoffe einer von Euch kennt das Problem und die Lösung.
Wenn nicht, werde ich wohl 2 Emails versenden. Wäre aber die allerletzte Lösung.

Danke im Voraus.
Sven

shmia 21. Jan 2011 14:47

AW: Email mit Lotus Notes versenden -> 2 Empfänger setzen?
 
Schon mal dieses Format versucht?
Code:
<test1@domain.de>, <test2@domain.de>

Piro 21. Jan 2011 18:40

AW: Email mit Lotus Notes versenden -> 2 Empfänger setzen?
 
Hi,

Ich habe fast alle Kombinationen probiert.
- alles in Anführungszeichen
- Eckige Klammer
- < >
- und vieles mehr

Würde fast vermuten, das ich den Code zum Versenden anpassen mussen.
Ein Ansatz wäre ein dynamisches String-Array in eine Variant Variable zu bekommen.

marabu 22. Jan 2011 10:26

AW: Email mit Lotus Notes versenden -> 2 Empfänger setzen?
 
Hallo Sven,

bei der COM Programmierung übergibst Du eine Liste in der Regel als variant array.
Bau Dir mal eins mit VarArrayCreate() oder VarArrayOf(). Vielleicht hast Du dann mehr Erfolg.

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz