Email: "An:" dynamisch und "Bcc"
-
Hallo zusammen,
komme irgendwie nicht weiter. Ich habe ein Mailprogramm geschrieben und habe ein Problem mit dem Feld "An:" wenn ich mehrere Mails zeitgleich verschicken möchte.
Bisher habe ich über eine SQL-Abfrage mir die ganzen Mailadressen in
IdMessage1->Recipients->EMailAddressesgepackt. Das hat allerdings den Nachteil das jeder sehen kann an wen diese Mail noch gesendet wurde. Aber das will ich nicht. Also muß
IdMessage1->BccList->EMailAddressesdafür herhalten. So weit auch so gut. Jetzt stehe ich aber vor dem Problem wie ich das hinbekomme das in dem Feld "An" nun auch die jeweilige Mailadresse steht. Also wenn z.B. die 5. Mailadresse ausgelesen wurde, das im "An"-Feld auch die 5. Adresse steht.
Irgendwie tue ich mich aber damit schwer.
Mein bisheriger Ansatz sieht so aus:[cpp] ..... query_branche->Active = true; query_branche->First(); for(int i = 0; i <= query_branche->RecordCount; i++) { query_branche->Close(); query_branche->SQL->Clear(); query_branche->SQL->Add("SELECT mail FROM adressen"); query_branche->SQL->Add("WHERE branche LIKE '" + branche + "'"); query_branche->SQL->Add("AND sperr = 0"); query_branche->Open(); } while(!query_branche->Eof) { mail = (query_branche->FieldByName("mail")->AsString); list->Add(mail); sendaddy = list->CommaText; query_branche->Next(); } // Ende Abfrage } } } delete list; } // ----------- ENDE Form Branchen auswerten und Daten in String speichern -------------- // kommas gegen ; tauschen sendaddy = StringReplace(sendaddy,",","; ",TReplaceFlags() << rfReplaceAll); // Verbindungsdate des SMTP - Servers IdSMTP1->Host = smtp; IdSMTP1->Username = name; IdSMTP1->Password = pass; IdSMTP1->Port = 25; // Message vorbereiten IdMessage1->From->Text = email; IdMessage1->Sender->Text= ename; IdMessage1->Recipients->EMailAddresses = // <---- Wie löse ich das Prob hier ??? IdMessage1->BccList->EMailAddresses = sendaddy; IdMessage1->Subject = txt_betreff->Text; IdMessage1->Body = re_mail->Lines; IdMessage1->ContentType = "multipart/mixed"; // Mail abschicken try { IdSMTP1->Connect(); IdSMTP1->Send(IdMessage1); IdSMTP1->Disconnect(); Application->MessageBoxA("Nachrichten erfolgreich versendet", "Mail", MB_OK|MB_ICONINFORMATION); } catch(...) { ......[/cpp]Hoffe ihr könnt mir weiter helfen

-
hallo zusammen,
keine eine Idee?

-
Hallo
Liegt wohl daran das nicht so ganz klar ist was du machen willst.
Wenn du eine Mail an verschiedene Leute schicken willst, die aber die andern Emfängeradressen nicht sehen sollen, kannst du nicht mit BCC arbeiten. Sondern du must für jeden Empfänger die Mail extra loschicken, und dann nur mit desen Adresse im TO.
Das BCC läßt in meinem Test die Mail zwar verteilen, allerdings bekommen alle Empfänger den/die Empfänger angezeigt, die im TO stehen.bis bald
akari
-
hi akari,
ich möchte z.b. 1 mail an 20 leute schicken. mache ich das z.b. über outlook, dann gebe ich einen empfänger ein und den rest über bcc. dann hat im TO jeder seine eigene mailaddy stehen und die anderen empfänger sind nicht sichtbar für den empfänger. und genau das will ich eigentlich erreichen. nicht das die 20 mailaddys im TO stehen.
-
Hallo
Wenn das bei dir so geht, dann must du es nur genauso auch mit Indy machen. Also trag die erste Adresse in TO ein, den Rest im BCC.
bis bald
akari