Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Hinweistext in EMail unterbringen ohne Body-Patchen (https://www.delphipraxis.net/201568-hinweistext-email-unterbringen-ohne-body-patchen.html)

dataspider 2. Aug 2019 07:44

Hinweistext in EMail unterbringen ohne Body-Patchen
 
Hallo

Ich möchte beim Versenden von E-Mail über Indy eine Art BccC einrichten.
Gemeint ist:
Eine Adresse steht in "To", 2 Adressen in "Bcc".

Die beiden Empfänger in "Bcc" sollen sehen, wer noch eine Mail in "Bcc" erhalten hat.

Ideal wäre, wenn in der ersten Zeile im Bodytext stehen würde:
"Bcc-Liste: adresse1@blabla(dot)de, adresse2@blabla(dot)de"

Da es nicht ganz so simpel ist, die exakte Stelle im HTML zum Einfügen zu finden,
dachte ich, man kann es vielleicht über eine zusätzlichen MessagePart o. ä. realisieren.

Gibt es so eine Möglichkeit oder bleibt nur das Patchen des BodyText?

Danke
Frank

Nersgatt 2. Aug 2019 07:48

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Dann nimm doch das CC und nicht das BCC. Sinn des BCC ist es ja grade, dass die anderen nicht sehen, wer sonst noch ne Kopie bekommen hat.

Moombas 2. Aug 2019 08:04

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Ich glaube er möchte:
- das Empfänger die in An bzw. CC stehen sich sehen können aber nicht die in BCC
- das Empfänger in BCC alle Empfänger sehen können

dummzeuch 2. Aug 2019 08:11

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Man könnte einen zusätzlichen Header einfügen und die BCC-Emfänger könnten ihren E-Mail-Client so konfigurieren, dass er diesen Header anzeigt (Thunderbird kann das). Allerdings würde dieser Header im Gegensatz zu BCC nicht automatisch entfernt, so dass er ggf. bei den Empfängern in TO und CC auch ankommen würde. (Aber das gilt natürlich auch für Änderungen im Text.)

Wie das mit Indy geht, kann ich allerdings nicht sagen, das habe ich zum Versand von E-Mails nie benutzt.

dataspider 2. Aug 2019 08:38

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Zitat:

Zitat von Nersgatt (Beitrag 1438937)
Dann nimm doch das CC und nicht das BCC. Sinn des BCC ist es ja grade, dass die anderen nicht sehen, wer sonst noch ne Kopie bekommen hat.

"An" soll von "Bcc" nichts wissen.

Beispiel:
E-Mail mit Absage an einen Bewerber.
Die Mail geht in Kopie an 2 Verantwortliche Mitarbeiter (GF und BL).
GF soll wissen, das BL informiert ist und umgekehrt.
Der Bewerber soll jetzt aber nicht die Mailadressen von GF und BL erhalten.

Frank

Schokohase 2. Aug 2019 08:42

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Ich habe mir gerade mal die INDYs angesehen und das sollte z.B. so funktionieren
Delphi-Quellcode:
procedure SendMailSpecial(ASmtp: TIdSMTP; AMsg: TIdMessage);
var
  LRecipients: TIdEMailAddressList;
begin
  LRecipients := TIdEMailAddressList.Create(Self);
  try
    LRecipients.AddItems(AMsg.Recipients);
    LRecipients.AddItems(AMsg.CCList);

    if LRecipients.Count > 0 then
      ASmtp.Send(AMsg, LRecipients);
  finally
    FreeAndNil(LRecipients);
  end;

  if AMsg.BccList.Count > 0 then
  begin
    // Bcc-Einträge an CC anfügen
    AMsg.CCList.AddItems(AMsg.BccList);
    // Diese Mail nur an die BCC-Empfänger senden
    ASmtp.Send(AMsg, AMsg.BccList);
  end;
end;
Als Resultat würde folgende Mail
Code:
To: a@test.de
Cc: b@test.de
Bcc: c@test.de
Subject: Hello
bei a@test.de und b@test.de wie folgt ankommen
Code:
To: a@test.de
Cc: b@test.de
Subject: Hello
und bei c@test.de so
Code:
To: a@test.de
Cc: b@test.de, c@test.de
Subject: Hello

exilant 2. Aug 2019 08:52

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Eine ziemlich schräge Anforderung.

Ich würde das mit separaten Mails lösen.
- Mail an den echten Empfänger. Kein BCC oder CC.
- Kopie der Mail an die CC's. Mit oben im Body eingefügtem Text a'la

Original an:
Diese Kopie ausserdem an:

- Kopie der Kopie an die BCC Empfänger
ebenfalls mit den entsprechenden Informationen im Body.

TigerLilly 2. Aug 2019 10:32

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Ich würde eine Gruppe oder einen Verteiler (hängt vom Mail-System ab) machen und den ins BCC setzen.

Schokohase 2. Aug 2019 10:47

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Zitat:

Zitat von TigerLilly (Beitrag 1438975)
Ich würde eine Gruppe oder einen Verteiler (hängt vom Mail-System ab) machen und den ins BCC setzen.

Und wie löst das die Anforderung, dass die Empfänger die im BCC stehen mitbekommen sollen an wen das alles gesendet wurde?

TigerLilly 2. Aug 2019 10:50

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Weil im BCC der Name des Verteilers/die Gruppe steht.

So lösen wir das hier im Exchange-Server.

Schokohase 2. Aug 2019 10:56

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Zitat:

Zitat von TigerLilly (Beitrag 1438980)
Weil im BCC der Name des Verteilers/die Gruppe steht.

So lösen wir das hier im Exchange-Server.

Weil alles was bei BCC steht bei den Empfängern NICHT ankommt, darum heißt das ja auch Blind Carbon Copy.

Wenn das bei euch bei den Empfängern ankommt, dann ist da etwas nicht standard-konform gelöst und funktioniert also nur bei euch.

Wir können da auch gerne mal in die RFC 2822 schauen
Zitat:

The "Bcc:" field (where the "Bcc" means "Blind Carbon Copy") contains addresses of recipients of the message whose addresses are not to be revealed to other recipients of the message.

dataspider 2. Aug 2019 11:02

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Zitat:

Zitat von Schokohase (Beitrag 1438950)
Ich habe mir gerade mal die INDYs angesehen und das sollte z.B. so funktionieren
[DELPHI]
procedure SendMailSpecial(ASmtp: TIdSMTP; AMsg: TIdMessage);
var
LRecipients: TIdEMailAddressList;
begin
LRecipients := TIdEMailAddressList.Create(Self);
try
LRecipients.AddItems(AMsg.Recipients);
LRecipients.AddItems(AMsg.CCList);

if LRecipients.Count > 0 then
ASmtp.Send(AMsg, LRecipients);
finally
FreeAndNil(LRecipients);
end;

if AMsg.BccList.Count > 0 then
begin
// Bcc-Einträge an CC anfügen
AMsg.CCList.AddItems(AMsg.BccList);
// Diese Mail nur an die BCC-Empfänger senden
ASmtp.SendMsg(AMsg, AMsg.BccList);
end;
end;

Ich hab das mal probiert.
Ich habe eine Addresse in To und eine in Bcc eingetragen und an Bcc gesendet.

Bcc bekommt nur eine Nachricht, sieht aber den Empfänger in "To" nicht.
Es scheint als ob er dann alle Empfängerlisten ignoriert und die im Command Send übergebenen Adressen als "To" behandelt.

Das wäre zu schön gewesen :(

[Nachtrag]
Hab grad gesehen, du verwendest beim Bcc - Senden SendMsg...Der 2. Parameter ist bei mir AHeadersOnly: Boolean

Frank

TigerLilly 2. Aug 2019 11:05

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Zitat:

Zitat von Schokohase (Beitrag 1438982)
Zitat:

Zitat von TigerLilly (Beitrag 1438980)
Weil im BCC der Name des Verteilers/die Gruppe steht.

So lösen wir das hier im Exchange-Server.


Mein Blödsinn - sorry. Ich da was verwechselt.

Moombas 2. Aug 2019 11:15

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Mal die "Idee" von Tigerlilly anders betrachtet:

Wenn du in CC einen definierten Verteiler hinterlegst, welcher die Mailadressen der BCC-Mitlgieder enthält, der Verteiler aber von extern nicht erreichbar ist. Wäre es dann nicht egal, ob der Bewerber (oder wer auch immer) das sehen kann?


Und mal ein anderer Vorschlag:
Wenn im Betreff bestimmte Worte/ Wortfolgen auftauchen (z.B. Bewerbung NAME Absage), dann
(- Entferne " Absage" aus dem Betreff,)
- Entferne die Empfänger aus BCC,
- sende eine zweite (separate) Mail an die BCC-Empfänger (Diesmal beide in "To") mit ggf. angepasstem Text.

Müsste das nicht möglich sein?
Ggf. anstatt das beim Senden immer zu prüfen, über einen separaten Button als Funktion einsetzen. Dann würdest du dir die Bedingung mit dem Betreff sparen.


Ps.: Eine separate Mail hat den Vorteil, das wenn einer der beiden "BCC"-Personen antwortet auf keinen Fall der Bewerber "aus versehen" etwas davon mitbekommt.

Schokohase 2. Aug 2019 12:03

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Zitat:

Zitat von dataspider (Beitrag 1438984)
[Nachtrag]
Hab grad gesehen, du verwendest beim Bcc - Senden SendMsg...Der 2. Parameter ist bei mir AHeadersOnly: Boolean

Das war nicht korrekt und habe ich im Beitrag jetzt auch korrigiert.

Es muss natürlich lauten
Delphi-Quellcode:
ASmtp.Send(AMsg, AMsg.BccList);
.

Ich habe es gerade selber getestet und es funktioniert exakt wie von mir beschrieben.

dataspider 2. Aug 2019 12:43

AW: Hinweistext in EMail unterbringen ohne Body-Patchen
 
Zitat:

Zitat von Schokohase (Beitrag 1438995)
Ich habe es gerade selber getestet und es funktioniert exakt wie von mir beschrieben.

Wow, jetzt bin ich begeistert!
Ich geh erst mal in den Garten - ein paar Freudenhüpfer machen...

Vielen Dank!

Frank Reim


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:29 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