BCC im Weiterempfehlungsscript
Peter
- php
Hallo zusammen,
ich bin kein großer PHPler und zusätzlich hocke ich hier auf der Leitung.
Ich habe ein Script für die Weiterempfehlung meiner Seite - es funktioniert auch einwandfrei.
Da ich aber recht neugierig bin, wer und was empfohlen wird, würde ich diese Email dann auch gerne erhalten z.B. als BCC o.ä.
Sobald ich irgendwie versuche eine Email-Adresse ins Spiel zubringen funktioniert nichts mehr.
Ich weiss aber leider keine Lösung - vielleicht könnt Ihr mir weiterhelfen. Hier auf jeden Fall mal das Script:
....
<?php
$adresse="http://www.meineseite.de";
$homepage="meineseite.de";
$text="Die Seite $homepage mit der Adresse $adresse ist Ihnen von $sender_name empfohlen worden.\n$sender_name hat folgenden Grund der Weiterempfehlung angegeben: $grund";
$abschicken = $_POST['abschicken'];
$sender_mail = $_POST['sender_mail'];
$sender_name = $_POST['sender_name'];
$empfaenger_mail = $_POST['empfaenger_mail'];
if(isset($abschicken))
{
if(empty($empfaenger_mail) || empty($sender_mail) || empty($sender_name) || empty($grund))
{
echo "<p><b>Die Eingabe ist leer oder ungültig</b><p>";
}
else
{
mail($empfaenger_mail, "Empfehlung der Webseite $homepage durch $sender_name", $text, "From: $sender_mail");
echo "<p>Vielen Dank, daß Sie meine Webseite weiterempfohlen haben. Die Daten wurden erfolgreich versendet.</p>";
}
}
else
{
?>
.....
<form name="formular" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
.....
Ich verwende hierfür übrigens kein extra script wie formmail.php o.ä.
Es soll alles direkt aus der Seite erfolgen.
Vielen Dank im voraus!
Hallo,
wieso sendest du nach dem ersten mail() nicht noch ein zweites nur anstatt einer variablen Empfängeradresse, deine eigene E-Mailadresse.
Grüße, Thomas
echo $begrüßung;
Ich habe ein Script für die Weiterempfehlung meiner Seite - es funktioniert auch einwandfrei.
Da ich aber recht neugierig bin, wer und was empfohlen wird, würde ich diese Email dann auch gerne erhalten z.B. als BCC o.ä.
Was da empfohlen werden wird ist recht langweilig. Es ist immer wieder das gleiche: Potenzmittel, Lottogewinne und Imitate teurer Uhren. Du tätest der Welt einen Gefallen, wenn du diese Spamschleuder vom Netz nähmst.
Dein Script ist dafür prädestiniert, weil jederbot beliebige Absender- und Empfängeradressen und noch weitere Headerzeilen einfügen kann, da du für die übergebenen Werte zwar völlig überflüssigerweise neue Variablen anlegst, aber nicht kontrollierst, was da drin steht. Ein Benutzer wird in ein einzeiliges Eingabefeld keinen Wert mit Zeilenumbruch eingeben können, aber das interessiert einen Bot nicht die Bohne.
Sobald ich irgendwie versuche eine Email-Adresse ins Spiel zubringen funktioniert nichts mehr.
Da du nicht sagst, wie du es verkehrt machst und auch nicht erklärst, was "funktioniert nicht" in deinem Fall bedeutet kann ich dir auch nicht sagen, wo dein fehler liegt.
Es ist übrigens auch nicht verboten, die mail()-Funktion mehrmals im Script aufzurufen ...
echo "$verabschiedung $name";
Beispiel:
------------------------
<?php
// Werte aus dem Formular:
//
// $absender_name
// $absender_mail
// $empfanger_name
// $empfanger_mail
// $empfanger_bcc_name
// $empfanger_bcc_mail
//
// $betreff
// $nachricht
//
// [ Werte überprüfen ]
$absender = '"'.$absender_name .'" <'.$absender_mail .'>';
$empfanger = '"'.$empfanger_name .'" <'.$empfanger_mail .'>';
$empfanger_bcc = '"'.$empfanger_bcc_name.'" <'.$empfanger_bcc_mail.'>';
mail (
$empfanger,
$betreff,
$nachricht,
"From: ".$absender."\n".
"Disposition-Notification-To: ".$absender."\n".
"Bcc: ".$empfanger_bcc."\n"
);
?>
--------------------------------
Siehe Script, Zeile 27
Gruß,
Shenga
Hallo Shenga.
mail (
$empfanger,
$betreff,
$nachricht,
"From: ".$absender."\n".
"Disposition-Notification-To: ".$absender."\n".
"Bcc: ".$empfanger_bcc."\n"
);
Fehler: Mailheader müssen mit „\r\n“ voneinander getrennt werden. Ist dem nicht so, ist der korrekte Mailversand davon abhängig, wie tolerant der MTA ist.
Einen schönen Samstag noch.
Gruß, Mathias
Danke für die Korrektur! Bei dem Mailserver meines Providers macht das anscheinend keinen Unterschied, so ist mir der Fehler bisher nicht aufgefallen.