Mail-Programm funktioniert nicht?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
adresse
attachment
betreff
boxen
email
encoding
error
fehler
format
formen
kopie
mail
meinst
message
mimen
multi
plain
please
sender
versuch
-
Hi,
irgendwie funktioniert mein Mailprogramm nicht. kann mir jemand sagen, was daran nicht simmt.
Danke
Code:
<?php
// Your e-mail adress:
$mailto = "michi.dorn@t-online.de";
# Maximum size of attachment in bytes:
$max_attach_size = 500000;
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Formmailer</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; color: #FFFFFF; background: #800000; margin: 20px; padding: 0px; border: 0px; }
.caution { color: red; font-weight: bold; }
-->
</style>
</head>
<body><?php
/*if (empty($_POST['form_submitted']))
{
?><p>Please fill out the form:</p><?php
}
*/
if (isset($_POST["form_submitted"]))
{
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$text = $_POST['text'];
unset($errors);
if ($email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/", $email)) $errors[] = "E-Mail Adresse scheint ung?ltig zu sein";
if ($text == "") $errors[] = "Keine Nachricht eingetragen";
if ($_FILES['probe']['size'] > $max_attach_size) $errors[] = "Anhang zu gro? (".number_format($_FILES['probe']['size']/1000,0,",","")." KB) - maximale Gr??e: ".number_format($max_attach_size/1000,0,",","")." KB";
if (empty($errors))
{
$text = stripslashes($text);
$subject = stripslashes($subject);
if ($name != "") $mail_name=$name; else $mail_name="Unbekannt";
if ($subject != "") $mail_subject = $subject; else $mail_subject = "Kein Betreff";
if ($email != "") $mail_email = $email; else $mail_email = "email@unknown.xyz";
$ip = $_SERVER["REMOTE_ADDR"];
// if attachment, MIME-Mail:
if (isset($_FILES['probe']['name']) && trim($_FILES['probe']['name']) != "")
{
// read and encode file:
$datei_content = fread(fopen($_FILES['probe']['tmp_name'],"r"),filesize($_FILES['probe']['tmp_name']));
$datei_content = chunk_split(base64_encode($datei_content),76,"\n");
// Boundary:
$boundary = md5(uniqid(rand()));
// Mail-Header:
$mail_header = "From: ".$mail_name." <".$mail_email.">\n";
$mail_header .= "X-Sender-IP: ".$ip."\n";
$mail_header .= "MIME-Version: 1.0\n";
$mail_header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";
$mail_header .= "This is a multi-part message in MIME format.\n";
// Mail-Text:
$mail_header .= "--".$boundary;
$mail_header .= "\nContent-Type: text/plain";
$mail_header .= "\nContent-Transfer-Encoding: 8bit";
$mail_header .= "\n\n".$text;
// Attachment:
$mail_header .= "\n--".$boundary;
$mail_header .= "\nContent-Type: ".$_FILES['probe']['type']."; name=\"".$_FILES['probe']['name']."\"";
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment; filename=\"".$_FILES['probe']['name']."\"";
$mail_header .= "\n\n".$datei_content;
// End:
$mail_header .= "\n--".$boundary."--";
// Sende E-Mail und gebe Fehler bzw. Bestaetigung aus
if (@mail($mailto,$mail_subject,"",$mail_header)) $sent = true; else $errors[] = "Keine Verbindung zum Mailserver - Versuchen Sie es sp?ter noch einmal";
}
// no attachment, normal E-mail:
else
{
$mail_header = "From: ".$mail_name." <".$mail_email.">\n";
$mail_header .= "X-Sender-IP: $ip\n";
$mail_header .= "Content-Type: text/plain";
if (@mail($mailto,$mail_subject,$text,$mail_header)) $sent = true; else $errors[] = "Keine Verbindung zum Mailserver - Versuchen Sie es sp?ter noch einmal";
}
// copy to sender:
if (isset($sent) && isset($email) && $email != "" && isset($_POST['copy']))
{
if (isset($_FILES['probe']['name']) && trim($_FILES['probe']['name']) != "") $copy_mail_text = "Kopie der E-Mail:\n\n".$text."\n\nAnhang: ".$_FILES['probe']['name']; else $copy_mail_text = "Kopie der E-Mail:\n\n".$text;
$header= "From: ".$mailto."\n";
$header .= "X-Sender-IP: ".$ip."\n";
$header .= "Content-Type: text/plain";
@mail($email, $mail_subject, $copy_mail_text, $header);
}
}
}
if (empty($sent))
{
if(isset($errors))
{
?><p class="caution">Error:</p><ul><?php foreach($errors as $f) { ?><li><?php echo $f; ?></li><?php } ?></ul><br /><?php
}
?><form method="post" action="<?php echo basename($_SERVER["PHP_SELF"]); ?>" enctype="multipart/form-data"><div>
<p><b>Name:</b><br /><input type="text" name="name" value="<?php if (isset($name)) echo htmlentities(stripslashes($name)); else echo ""; ?>" size="35" /></p>
<p><b>E-Mail:</b><br /><input type="text" name="email" value="<?php if (isset($email)) echo htmlentities(stripslashes($email)); else echo ""; ?>" size="35" /></p>
<p><b>Betreff:</b><br /><input type="text" name="subject" value="<?php if (isset($subject)) echo htmlentities(stripslashes($subject)); else echo ""; ?>" size="35" /></p>
<p><b>Nachricht:</b><br /><textarea name="text" cols="55" rows="12"><?php if (isset($text)) echo htmlentities(stripslashes($text)); else echo ""; ?></textarea></p>
<b>Anhang:</b><br /><input type="file" name="probe" value="<?php if (isset($_POST['probe'])) echo htmlentities(stripslashes($_POST['probe'])); else echo ""; ?>" size="20"/></p>
<br /><br />
<p><input type="submit" name="form_submitted" value="Senden" /> <input type="checkbox" name="copy" value="true" /> Kopie an Sie</p>
</div></form><?php
}
else
{
if (empty($email)) { ?><p><b>Dankesch?n!</b><br />Die Nachricht wurde erfolgreich gesendet, aber Sie haben Ihre E-Mail Adresse nicht angegeben, son kann ich Ihnen nicht antworten.</p><?php }
else { ?><p><b>Dankesch?n!</b><br />Die Nachricht wurde erfolgreich gesendet.</p><?php }
}
?>
</body>
</html> -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wie kann ich den Script in eine Code-box schreiben?
-
Dein Webspace liegt auf Milten. Da kannst du leider keine Mails verschicken, weil die Mail-Funktion gesperrt ist. Es gibt aber bei Tuturials ein Tuturial, mit dem man trotzdem Mails verschicken kann. Musst mal suchen.
Edit jacr
Hier mal ein Link
http://www.lima-city.de/boards?m=thread&id=12025 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage