uenetz Geschrieben 12. Dezember 2012 Geschrieben 12. Dezember 2012 (bearbeitet) Hallo Forengemeinde, ich versuche E-Mails an mehrere Empfänger über Bcc zu senden. Leider funktioniert dies nicht und die Logfiles schweigen sich in der Beziehung auch aus. Oops, es liegt warscheinlich am Mail-Header. Habe gerade mit dem Thunderbird getestet und da gehen die Mails auch an BCC's. Die Adressen für Bcc habe ich in einem Array, welches ich dann zu einem String zusammenbaue. Jedes Element ist dabei mit einem Komma vom Anderen getrennt. Beispiel: Bcc: Ziel1 <ziel@domain.tld>,ziel2 <ziel2@domain.tld>, ...etc. Hatte von Euch jemand das gleiche Problem und eine Lösung gefunden? Bearbeitet 12. Dezember 2012 von uenetz
uenetz Geschrieben 12. Dezember 2012 Autor Geschrieben 12. Dezember 2012 Achso, hab ich glatt noch vergessen. Scriptsprache ist PHP5.
lupo49 Geschrieben 12. Dezember 2012 Geschrieben 12. Dezember 2012 Und wie sieht der relevante Teil des PHP-Skripts aus?
uenetz Geschrieben 12. Dezember 2012 Autor Geschrieben 12. Dezember 2012 (bearbeitet) Das ist jetzt nicht ganz einfach. Aber ich denke das relevante Fragment sollte reichen. $send_params['headers'] = array( 'From: Absender <absender@absender.tld>', // Headers 'To: empfaenger@ziel.tld', 'Reply-To: undesirable-response@absender.tld', 'Errors-To: postmaster@absender.tld', 'Subject: Allgemeine Information', 'Bcc: ' . implode(',', $this->CreateBcc()), /* CreateBcc liefert ein Array mit Adresse. Beispiel: array("Ziel1 <ziel1@xxx.tld>", "Ziel1 <ziel1@xxx.tld>"); 'X-Mailer: PHP/' . phpversion(), 'Content-Type: text/html, charset=ISO-8859-1' ); $send_params['from'] = 'absender@domain.tld'; // This is used as in the MAIL FROM: cmd $send_params['body'] = $cHTML; /* diese Variable beinhaltet den Mail-Body */ $send_params['recipients'] = array('absender@domain.tld'); if(is_object($smtp = smtp::connect($params)) AND $smtp->send($send_params)) { $x = 0; } [/PHP] Bearbeitet 12. Dezember 2012 von uenetz
lupo49 Geschrieben 12. Dezember 2012 Geschrieben 12. Dezember 2012 Funktioniert es mit wenigen Adresse im BCC? Kommen die BCC-Mails überhaupt am MTA an? Werden die E-Mails mit der mail()-Funktion versendet oder mit was eigenem gebauten?
uenetz Geschrieben 12. Dezember 2012 Autor Geschrieben 12. Dezember 2012 Mails mit Bcc über den MTA zu verschicken funktioniert (getestet mit dem Thunderbird) Versenden über die smtp-Klasse (siehe Codeauszug) funktioniert nicht. Über die Funktion mail() klappt es ebenfalls nicht.
flashpixx Geschrieben 12. Dezember 2012 Geschrieben 12. Dezember 2012 Du musst schon mal entsprechende Logauszüge zeigen, denn sonst ist das nur raten
uenetz Geschrieben 12. Dezember 2012 Autor Geschrieben 12. Dezember 2012 Dst ja das große Problem! Ausser dem Logeintrag über das Senden an den Empänger (was tadellos funktioniert) gibt es keine weiteren Meldungen. Keine Meldungen über den Versand an die Bcc - Adressen..
Wodar Hospur Geschrieben 12. Dezember 2012 Geschrieben 12. Dezember 2012 Dst ja das große Problem! Ausser dem Logeintrag über das Senden an den Empänger (was tadellos funktioniert) gibt es keine weiteren Meldungen. Keine Meldungen über den Versand an die Bcc - Adressen.. Disclaimer: es ist schon länger her... Also bitte durch Querlesen der RFCs kontrollieren. Bei SMTP sind die BCC Adressen kein Bestandteil des Headers, immerhin sind es ja Blind Copies, die Idee ist dabei stattdessen im SMTP Protokoll TO richtig zu setzen. Wenn du also das SMTP Protokoll selber implementiert hast, entsprechend ändern, wenn nicht schau dir die genutzte Bibliothek an. Wenn alles nichts hilft, entweder per netcat einen transparenten Proxy bauen oder einfach alles mitsniffen.
lupo49 Geschrieben 12. Dezember 2012 Geschrieben 12. Dezember 2012 Wobei der MUA bzw. die PHP mail()-Funktion den BCC-Header normalerweise ausliest, den Header entfernt und dann schließlich die übergebenen Adressen beim Versand über SMTP im Envelope verwendet.
uenetz Geschrieben 12. Dezember 2012 Autor Geschrieben 12. Dezember 2012 Danke für die Tipps. Die SMTP-Geschichte werde ich morgen mal näher unter die Lupe nehmen. Wenn es Fortschritt gibt, werdet ihr es erfahren.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden