mail_cc bei PHP-Mailer funktioniert nicht

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
eumelchen
Mitglied
Beiträge: 714
Registriert: 09.02.2008 08:28
Wohnort: Gottin

mail_cc bei PHP-Mailer funktioniert nicht

Beitrag von eumelchen »

Hallo zusammen,

ich habe in meinem Forum (phpBB3.3.15 mit PHP8.3.21) ein Formular mit PHP-Mailer eingebaut.
Funktioniert wunderbar, nur der Absender des Formulars bekommt keine Kopie des Formulars.

Bei mir als Empfänger der Formular-Mail steht aber im Header CC, mit der Mailadresse des Absenders.
Es wird aber keine Mail an die CC-Adresse geschickt!

Hier ist der Code, den ich verwendet habe:

Code: Alles auswählen

<?php
//send_email.php
$email_from = "absender@domain.de";   //Absender falls keiner angegeben wurde
$sendermail_antwort = true;      //E-Mail Adresse des Besuchers als Absender. false= Nein ; true = Ja
$name_von_emailfeld = "Email";   //Feld in der die Absenderadresse steht
 
$empfaenger = "empfaenger@domain.de"; //Empfänger-Adresse
$mail_cc = "$_POST[$name_von_emailfeld]"; //CC-Adresse, diese E-Mail-Adresse bekommt einer weitere Kopie
$betreff = "Neue Kontaktanfrage"; //Betreff der Email
 
$url_ok = "http://www.domain.de/ok.php"; //Zielseite, wenn E-Mail erfolgreich versendet wurde
$url_fehler = "http://www.domain.de/fehler.php"; //Zielseite, wenn E-Mail nicht gesendet werden konnte
Ansonsten funktioniert alles einwandfrei.

Was könnte der Fehler sein?
Benutzeravatar
IMC
Mitglied
Beiträge: 793
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: mail_cc bei PHP-Mailer funktioniert nicht

Beitrag von IMC »

Ich nutze den PHP-Mailer auch. Binde ihn jedoch als Klasse ein. Dann kann man ihn sehr viel komfortabler nutzen.

Schau mal in die README.md. Dort ist ein Beispielcode unter der Überschrift "A Simple Example".
Gruß, Thorsten

Meine Extensions
eumelchen
Mitglied
Beiträge: 714
Registriert: 09.02.2008 08:28
Wohnort: Gottin

Re: mail_cc bei PHP-Mailer funktioniert nicht

Beitrag von eumelchen »

Hallo IMC, vielen Dank für die Antwort, damit bin ich leider etwas überfordert.

Ich weiß auch nicht, woher ich mein Script für den PHP-Mailer herhabe, wahrscheinlich irgendwo im Netz gefunden und heruntergeladen.

Hier ist mal der komplette Code, vielleicht kann jemand sehen, wo der Fehler sein könnte:

Code: Alles auswählen

<?php
//send_email.php
$email_from = "absender@domain.de";   //Absender falls keiner angegeben wurde
$sendermail_antwort = true;      //E-Mail Adresse des Besuchers als Absender. false= Nein ; true = Ja
$name_von_emailfeld = "Email";   //Feld in der die Absenderadresse steht
 
$empfaenger = "empfaenger@domain.de"; //Empfänger-Adresse
$mail_cc = "$_POST[$name_von_emailfeld]"; //CC-Adresse, diese E-Mail-Adresse bekommt einer weitere Kopie
$betreff = "Neue Kontaktanfrage"; //Betreff der Email
 
$url_ok = "http://www.domain.de/ok.php"; //Zielseite, wenn E-Mail erfolgreich versendet wurde
$url_fehler = "http://www.domain.de/fehler.php"; //Zielseite, wenn E-Mail nicht gesendet werden konnte
//Diese Felder werden nicht in der Mail stehen
$ignore_fields = array('Button');
 
//Datum, wann die Mail erstellt wurde
$name_tag = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
$num_tag = date("w");
$tag = $name_tag[$num_tag];
$jahr = date("Y");
$n = date("d");
$monat = date("m");
$time = date("H:i");
 
//Erste Zeile unserer Email
$msg = ":: Gesendet am $tag, den $n.$monat.$jahr - $time Uhr ::\n:: Die Zahlungs-Infos kommen innerhalb von 24 Stunden per PN aus dem Chiforum! ::\n\n";
 
//Hier werden alle Eingabefelder abgefragt
foreach($_POST as $name => $value) {
   if (in_array($name, $ignore_fields)) {
        continue; //Ignore Felder wird nicht in die Mail eingefügt
   }
   $msg .= "::: $name :::\n$value\n\n";
}
  
//E-Mail Adresse des Besuchers als Absender
if ($sendermail_antwort and isset($_POST[$name_von_emailfeld]) and filter_var($_POST[$name_von_emailfeld], FILTER_VALIDATE_EMAIL)) {
   $email_from = $_POST[$name_von_emailfeld];
}
 
$header="From: $email_from";
 
if (!empty($mail_cc)) {
   $header .= "\n";
   $header .= "Cc: $mail_cc";
}
 
//Email als UTF-8 senden
$header .= "\nContent-type: text/plain; charset=utf-8";
 
$mail_senden = mail($empfaenger,$betreff,$msg,$header);
 
//Weiterleitung, hier konnte jetzt per echo auch Ausgaben stehen
if($mail_senden){
  header("Location: ".$url_ok); //Mail wurde gesendet
  exit();
} else{
  header("Location: ".$url_fehler); //Fehler beim Senden
  exit();
}
Benutzeravatar
chris1278
Mitglied
Beiträge: 4012
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: mail_cc bei PHP-Mailer funktioniert nicht

Beitrag von chris1278 »

Denn Original phpmailer findest du hier:

https://github.com/PHPMailer/PHPMailer
Benutzeravatar
IMC
Mitglied
Beiträge: 793
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: mail_cc bei PHP-Mailer funktioniert nicht

Beitrag von IMC »

eumelchen hat geschrieben: 03.09.2025 19:30 Ich weiß auch nicht, woher ich mein Script für den PHP-Mailer herhabe,
Das was du nutzt ist nicht der PHP-Mailer sondern die mail() Funktion von php.

Ist schon etwas länger her das ich mail() genutzt habe. Ändere mal in der Variable $header deine "\n" in "\r\n". Wenn dies noch nicht Erfolgreich ist entferne die Programmzeile:

Code: Alles auswählen

$header .= "\nContent-type: text/plain; charset=utf-8";
mail() funktioniert nicht wenn der Mail-Header nicht ganz genau dem Standard entspricht. Wenn die Mail mehr als nur Text anzeigen soll kann es kompliziert werden. Mit dem PHP-Mailer ist vieles einfacher.
Gruß, Thorsten

Meine Extensions
eumelchen
Mitglied
Beiträge: 714
Registriert: 09.02.2008 08:28
Wohnort: Gottin

Re: mail_cc bei PHP-Mailer funktioniert nicht

Beitrag von eumelchen »

Hallo Thorsten,

die beiden von Dir vorgeschlagenen Änderungen habe ich gemacht, die haben aber leider nichts gebracht.

Was mich irritiert ist das ansonsten der Code funktioniert.
Mail an den Empfänger wird verschickt, die Absender-Mailadresse wird in der Mail übernommen und in der Mail an den Empfänger steht auch
Kopie (CC) Mailadresse Absender.
Diese Mail an CC wird aber nicht verschickt!

Der von Dir vorgeschlagene PHP-Mailer ist für mich zu kompliziert, damit komme ich nicht zurecht.
Benutzeravatar
chris1278
Mitglied
Beiträge: 4012
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: mail_cc bei PHP-Mailer funktioniert nicht

Beitrag von chris1278 »

änder mal in deinem skript folgende zeile:

Also du sendest bei der mail funktion nur an den empfänger. du musst bei der option empfänger auch den cc empfänger mit angeben.

Du kannst folgendes versuchen.


In deinem skript hast du das hier stehen:

Code: Alles auswählen

$mail_senden = mail($empfaenger,$betreff,$msg,$header);
Du kannst mal folgende konstellationen testen:

1.

Code: Alles auswählen

$mail_senden = mail($empfaenger, $mail_cc, $betreff,$msg,$header);
oder du lädst beide mail adressen in einen string z.B. so:

Code: Alles auswählen

$test	= 'mail1@mail.de, mail2@mail.de'
$mail_senden = mail($test,  $betreff,$msg,$header);
wie gesagt das sind nur versuche aber schau dir mal die erklärung zur mail funktion hier an:

https://www.php.net/manual/de/function.mail.php
Benutzeravatar
IMC
Mitglied
Beiträge: 793
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: mail_cc bei PHP-Mailer funktioniert nicht

Beitrag von IMC »

Ich habe jetzt deinen Code bei mir getestet. Bei mir ist auch die Cc-Mail angekommen.
Ändere mal diese Zeile

Code: Alles auswählen

$mail_cc = "$_POST[$name_von_emailfeld]";
in

Code: Alles auswählen

$mail_cc = $_POST[$name_von_emailfeld];
Gruß, Thorsten

Meine Extensions
eumelchen
Mitglied
Beiträge: 714
Registriert: 09.02.2008 08:28
Wohnort: Gottin

Re: mail_cc bei PHP-Mailer funktioniert nicht

Beitrag von eumelchen »

Hallo Thorsten,

ich habe alles ausprobiert, nichts hat funktioniert, teilweise kamen auch Fehlermeldungen.
Für Deine Hilfe erst einmal vielen Dank.

Dann habe ich etwas anderes versucht.
Meine Versuche waren alle bei meinem Hoster All-Inkl.
Ich habe dann mal das Formular bei STRATO getestet, da funktioniert es mit Mail CC einwandfrei!

Ich brauche das Formular aber bei All-Inkl, hat jemand eine Idee, ob ich da bei All-Inkl etwas ändern muss oder kann?
Benutzeravatar
Crizzo
Administrator
Administrator
Beiträge: 12132
Registriert: 19.05.2005 21:45
Kontaktdaten:

Re: mail_cc bei PHP-Mailer funktioniert nicht

Beitrag von Crizzo »

Hast du es mal mit der -f Option von Mail() probiert?

https://www.php.net/manual/de/function.mail.php
Antworten

Zurück zu „Coding & Technik“