Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: hampa am 15.03.12 - 09:48:31

Titel: MIME Mail an mehrer Empfänger versenden
Beitrag von: hampa am 15.03.12 - 09:48:31
Hallo zusammen,

Nach wie vor wate ich mich durch die Untiefen von MIME.

Ich möchte gerne eine Email an mehrere Empfänger verschicken. Nur leider finde ich nirgends eine Beschreibung, wie ich das anstelle. Unter seht ihr den Code, der korrekt funktioniert, wenn ich die Email bloss an einen Empfänger sende:

Code
// MIME Header erstellen
logger.debug("[SendEmail.send()] MIME Header erstellen");

MIMEEntity itmMailBody = docMail.createMIMEEntity();
MIMEHeader header = itmMailBody.createHeader("Content-Type");
header.setHeaderVal("multipart/mixed");

header = itmMailBody.createHeader("charset");
header.setHeaderVal("UTF-8");
header = itmMailBody.createHeader("Subject");
header.setHeaderVal(psSubject);
header = itmMailBody.createHeader("To");
header.setHeaderVal(psSendTo);

Oder macht es mehr Sinn die Empfänger über ein Empfänger-Feld zu setzen und das Email so zu verschicken?

Gruss und Dank
Hampa
Titel: Re: MIME Mail an mehrer Empfänger versenden
Beitrag von: pram am 15.03.12 - 10:00:49
Hallo Hampa.
Mach dir das Leben nicht unnötig schwer und schreib bis auf den Body die restlichen Felder so ins Dokument
Mach einfach vor oder nach der MIME-Behandlung

doc.SendTo = Empfängerliste

(wichtig, bevor man so Items beschreibt die MIME-Behandlung mit closeMimeEntities abschließen)
Den Rest macht der Mailrouter.

Ich bin mir weiterhin nicht sicher ob das korrekt ist:
Code
header = itmMailBody.createHeader("charset");
header.setHeaderVal("UTF-8");
Ich hab das Charset immer im Content-Type mit angegeben, da das Charset kein eigentlicher Header ist, und zwar so:
Code
call itmMailBody.SetContentFromText(stream,"text/html; charset=UTF-8",ENC_NONE)
(wobei ich natürlich auch nicht allwissend bin und dein Code auch zum richtigen Ergebnis führen könnte)

Gruß
Roland
Titel: Re: MIME Mail an mehrer Empfänger versenden
Beitrag von: hampa am 15.03.12 - 10:22:39
Mach dir das Leben nicht unnötig schwer und schreib bis auf den Body die restlichen Felder so ins Dokument

Du hast recht. In diesem Projekt hier mache ich mir das Ganze wirklich nicht einfach. Aber mehr aus mangelndem Verständnis heraus als nach dem Drang es wirklich kompliziert zu machen.  ;D

Zitat
Ich bin mir weiterhin nicht sicher ob das korrekt ist:
Code
header = itmMailBody.createHeader("charset");
header.setHeaderVal("UTF-8");
Ich hab das Charset immer im Content-Type mit angegeben, da das Charset kein eigentlicher Header ist, und zwar so:
Code
call itmMailBody.SetContentFromText(stream,"text/html; charset=UTF-8",ENC_NONE)
(wobei ich natürlich auch nicht allwissend bin und dein Code auch zum richtigen Ergebnis führen könnte)

Weiter unten in meinem Code mache ich das ebenfalls so. Dann lasse ich den Header-Eintrag einfach mal weg und schaue, was dabei unten rausfällt.

Grüsse und vielen Dank

Hampa