Suchen

 


 

BAR Fern-Assistenz

 
 
 
Erstellung

Beispiel PHP: Wie kann ich ein Email senden?

 

In diesem Beispiel wird der Besucher ein Formular ausfüllen. Beim Absenden des Formulars wird das Script phpmailer.php aufgerufen und alle Formulardaten übergeben. Das Script überprüft die Daten und zeigt entweder eine Webseite mit einem Fehler oder sendet das Email und zeigt eine Webseite mit einer Erfolgsmeldung.

Aus Sicherheitsgründen (Spam) darf die Emailadresse des/der Empfänger nicht einfach von einem öffentlichen Web-Formular übernommen werden.
Mögliche Lösungen:

  • Die Emailadresse des Empfängers kann im Script-Code fest eingegeben werden
  • Im Script-Code kann eine Liste der gültigen Adressen vorhanden sein
  • Der Benutzer muss sich vorher anmelden
  • Es wird ein guter Spam-Schutz (Captcha) verwendet
Kontrollieren Sie auf jeden Fall die Benutzereingaben, z.B. ob nur eine und eine gültige Emailadresse eingegeben wurde.

Das Formular

<html>
	<head>
		<title>Mail Beispiel mit PHP</title>
	</head>
	<body>
		<font face="Arial">
			<b>Mail Beispiel mit PHP</b>
			<form action="phpmailer.php" method="POST">
				Name, Vorname: <input type="text" name="name_surname" />
				<br />
				Absender-Email: <input type="text" name="mailfrom" />
				<br />
				Betreff: <input type="text" name="subject" />
				<br />
				Text:<br /><textarea name="text" rows="20" cols="50"></textarea>
				<br />
				<input type="submit" value="E-Mail senden" />
			</form>
		</font>
	</body>
</html>

Das Script

<?php
echo '<b>Mail Beispiel mit PHP</b>';
//überprüfung der eingabe
//name vorname??
if (empty($_POST['name_surname'])) {
	echo 'Geben Sie Ihren Namen und Vornamen an!';
	$error = 'on';
}
//absender-email-adresse??
if (empty($_POST['mailfrom'])) {
	echo 'Geben Sie Ihre E-Mail-Adresse an!';
	$error = 'on';
}
//betreff??
if (empty($_POST['subject'])) {
	echo 'Kein Betreff angeben!';
	$error = 'on';
}
//email (text)??
if (empty($_POST['email'])) {
	echo 'Leere E-Mails werden nicht versendet!';
	$error = 'on';
}
//falls die überprüfung in ordnung ist, email senden
if(!isset($error)) {
	//vereinfachung der variablen
	$name_surname	= $_POST['name_surname'];
	$mailfrom		= $_POST['mailfrom'];
	$subject		= $_POST['subject'];
	$text			= $_POST['text'];
	//header-definition
	$headers .= 'From: '.$name_surname.' <'.$mailfrom.'>'."\n";
	$headers .= 'X-Sender: <'.$mailfrom.'>'."\n";
	$headers .= "Reply-To: ".$name_surname." <$mailfrom>\r\n";
	//anpassung der zeilenumbrüche des textes für email
	$text = preg_replace('/<br[ ]?\/?>/', "\n", $text);
	//anpassung der umlaute
	$text = preg_replace('/&auml;/', "ä", $text);
	$text = preg_replace('/&ouml;/', "ö", $text);
	$text = preg_replace('/&uuml;/', "ü", $text);
	$text = preg_replace('/&Auml;/', "Ä", $text);
	$text = preg_replace('/&Uuml;/', "Ü", $text);
	$text = preg_replace('/&Ouml;/', "Ö", $text);
	//emailempfänger definieren
	$mailto = "wunschname@wunschname.ch";
	//mail senden
	mail ($mailto,$subject,$text,$headers);
	//bestätigung
	echo 'E-Mail wurde erfolgreich versendet!';
}
?>


Eigenschaften ID: 000060   Ansichten: 5811   Aktualisiert: vor 8 Jahren
Abgelegt unter: