mirror of
https://gitlab.com/harald.mueller/aktuelle.kurse.git
synced 2024-10-19 18:05:02 +02:00
296 lines
14 KiB
HTML
296 lines
14 KiB
HTML
<html>
|
|
<head>
|
|
|
|
<title>PHP-Einfach.de - PHP Einführung - E-Mails verschicken</title>
|
|
<meta name="Author" content="Andavos">
|
|
<meta name="Publisher" content="Andavos">
|
|
<meta name="Copyright" content="Andavos">
|
|
<link rel="stylesheet" href="css/main.css" tppabs="http://www.php-einfach.de/offline/css/main.css" type="text/css">
|
|
</head>
|
|
<body text="#000000" bgcolor="#DDDDDD" link="#004A95" alink="#004A95" vlink="#525252">
|
|
|
|
<table align="center" height="100%" width="100%" cellspacing="0" border="0" cellpadding="0">
|
|
<tr>
|
|
<td align="center" valign="middle" height="100%" width="100%">
|
|
|
|
<table height="100" width="750" cellspacing="0" border="0" cellpadding="0">
|
|
<tr>
|
|
<td height="100" bgcolor="#FFE09F" width="750"><img src="grafiken/banner_top.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/banner_top.jpg" width="750" height="100" border="0" alt="">
|
|
<a name="oben"></a></td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
|
|
|
|
<table height="650" width="750" cellspacing="0" border="0" cellpadding="0">
|
|
<tr>
|
|
<td valign="top" bgcolor="#FFE09F" width="160">
|
|
|
|
<table width="160" cellspacing="0" border="0" cellpadding="0">
|
|
<tr>
|
|
<td height="100" width="5"></td>
|
|
<td class="black" height="100" width="150">
|
|
|
|
|
|
<br><b><center><img src="grafiken/side_navigation.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_navigation.gif" width="150" height="25" border="0" alt=""></center></b>
|
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/index.php"><b>»</b> Startseite</a><br>
|
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_news.php"><b>»</b> Newsübersicht</a><br>
|
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_email.php"><b>»</b> Kontakt</a><br>
|
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_impressum.php"><b>»</b> Impressum</a><br><br>
|
|
|
|
|
|
<center><img src="grafiken/side_community.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_community.gif" width="150" height="25" border="0" alt=""></center>
|
|
<a target="_blank" class="blue" target="_blank" href="http://forum.php-einfach.de/"><b>»</b> Forum</a><br>
|
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_gaestebuch.php"><b>»</b> Gästebuch</a><br><br>
|
|
|
|
|
|
<center><img src="grafiken/side_tutorials.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_tutorials.gif" width="150" height="25" border="0" alt=""></center>
|
|
<a class="blue" href="einf_php.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php.php"><b>»</b> Einführung PHP</a><br>
|
|
|
|
|
|
<a class="blue" href="einf_php_anfang.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_anfang.php"><b>»</b> Anfang</a><br>
|
|
<a class="blue" href="einf_php_erste_schritte.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_erste_schritte.php"><b>»</b> Erste Schritte</a><br>
|
|
<a class="blue" href="einf_php_variablen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_variablen.php"><b>»</b> Variablen</a><br>
|
|
<a class="blue" href="einf_php_if-anweisung.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_if-anweisung.php"><b>»</b> if-Anweisung</a><br>
|
|
<a class="blue" href="einf_php_logische_operatoren.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_logische_operatoren.php"><b>»</b> Log. Operatoren</a><br>
|
|
<a class="blue" href="einf_php_uebung1.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_uebung1.php"><b>»</b> Übung</a><br>
|
|
<a class="blue" href="einf_php_dateien.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_dateien.php"><b>»</b> Dateien</a><br>
|
|
<a class="blue" href="einf_php_schleifen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_schleifen.php"><b>»</b> Schleifen</a><br>
|
|
<a class="blue" href="einf_php_array.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_array.php"><b>»</b> Array</a><br>
|
|
<a class="blue" href="einf_php_dateien2.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_dateien2.php"><b>»</b> Dateien Teil 2</a><br>
|
|
<a class="blue" href="einf_php_datum.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_datum.php"><b>»</b> Datum & Zeit</a><br>
|
|
<a class="blue" href="einf_php_email.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_email.php"><b>»</b> Mail Funktion</a><br>
|
|
<div style="position: relative; left:15;" >
|
|
<a class="blue"href="einf_php_suchen_ersetzen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_suchen_ersetzen.php"><b>»</b> Suchen & Ersetzen</a><br>
|
|
<a class="blue" href="einf_php_nuetz_funktionen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_nuetz_funktionen.php"><b>»</b> Nützliche Funktionen</a><br>
|
|
</div>
|
|
<a class="blue" href="einf_php_sessions.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_sessions.php"><b>»</b> Sessions</a><br><br>
|
|
|
|
|
|
|
|
<a class="blue" href="einf_mysql.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql.php"><b>»</b> Einführung MySQL</a><br>
|
|
|
|
<br>
|
|
<center>
|
|
<a target="_blank" href="http://www.php-einfach.de/nav_verlinkung.php"><img src="grafiken/php-einfach.gif" tppabs="http://www.php-einfach.de/offline/grafiken/php-einfach.gif" width="88" height="31" border="0" alt="PHP-Einfach.de"></a><br><br>
|
|
|
|
<a target="_blank" href="http://www.digicount.de/"><b>Counterdienst:</b></a>
|
|
<a target="_blank" href="http://www.php-einfach.de/nav_digicount.php"><div>
|
|
<img src="grafiken/digicount_livedemo.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/digicount_livedemo.jpg" border="0" alt="Digicount.de"><br>
|
|
<small>Unser werbefreier Counter- und Statistikdienst</small></div>
|
|
|
|
</a>
|
|
</center>
|
|
|
|
</td>
|
|
<td height="100" width="5"></td>
|
|
</tr>
|
|
</table>
|
|
|
|
</td>
|
|
<td valign="top" bgcolor="#FFFFFF" width="430">
|
|
|
|
<table width="430" cellspacing="0" border="0" cellpadding="0">
|
|
<tr>
|
|
<td height="100" width="10"></td>
|
|
<td valign="top" class="black" height="100" width="410">
|
|
<br>
|
|
<h4>E-Mails verschicken</h4>
|
|
|
|
|
|
Die E-Mail Funktion von PHP ist sehr praktisch, denn damit können wir Formulardaten versenden lassen oder ganze Newsletter-Scripts erstellen.
|
|
Man kann dieses Verfahren auch für ein Gästebuch benutzen, z.B. das man eine E-Mail erhält, wenn sich jemand in das Gästebuch einträgt.<br><br>
|
|
|
|
<b><font color="#FF0000">Wichtig</font></b><br>
|
|
Wenn ihr diese Funktion auf eurem Computer ausführt, erhaltet ihr normalerweise eine Fehlermeldung: <br>
|
|
<b>Warning: mail():...</b><br><br>
|
|
|
|
Dies kommt, weil euer virtueller Server <b>keine</b> E-Mails verschicken kann. Die Fehlermeldung könnt ihr ignorieren, denn auf dem echtem Server sollte sie eigentlich nicht mehr auftreten.<br><br>
|
|
|
|
|
|
Mit der Funktion <b>mail()</b> könnt Ihr die Mails verschicken, der Befehl sieht so aus:
|
|
|
|
<font color="#606060">
|
|
<pre>
|
|
<?php
|
|
mail(<i>Empfängeremail, Betreff, Nachricht,
|
|
"From: Absender <absenderemail>"</i>);
|
|
?>
|
|
</pre>
|
|
</font>
|
|
|
|
Es ist sinnvoll die einzelnen Texte in Variablen zu speichern, damit man die Übersicht behält.<br><br>
|
|
|
|
So lassen sich aber nur Text E-Mails verschicken, HTML E-Mails sind etwas komplizierter (siehe unten).<br><br>
|
|
|
|
Eine fertige Mail-Funktion würde so aussehen:
|
|
<font color="#606060">
|
|
<pre>
|
|
<?php
|
|
$empfaenger = "empf@domain.de";
|
|
$betreff = "Die Mail-Funktion";
|
|
$from = "From: Nils Reimers <absender@domain.de>";
|
|
$text = "Hier lernt Ihr, wie man mit PHP Mails
|
|
verschickt";
|
|
|
|
mail($empfaenger, $betreff, $text, $from);
|
|
?>
|
|
</pre>
|
|
</font>
|
|
|
|
So wird eine E-Mail von <i>absender@domain.de</i> an <i>empf@domain.de</i> verschickt.<br><br>
|
|
|
|
Wenn euer Server richtig eingestellt ist, sollte die E-Mail sofort ankommen.<br><br>
|
|
|
|
Natürlich könnt Ihr die Texte auch von einem Formular abfragen.<br><br>
|
|
|
|
Die Mail wird so verschickt wie es im Quelltext des Scripts steht. Wenn Ihr z.B. ein <b>ü</b> durch <b>&uuml;</b> (HTML Code für ein ü) ersetzen lasst, so steht es später in der Mail: <b>&uuml;</b>. Denn dort werden dann nicht die Umlaute angezeigt, sondern der HTML-Code dafür (bei Text Emails).<br><br>
|
|
|
|
Außerdem dürft Ihr keine HTML-Befehle benutzen, wenn z.B. in der E-Mail <br> steht, so wird das nicht in einen Zeilenumbruch verwandelt, sondern in der Mail steht dann <br>.<br><br>
|
|
|
|
Für Zeilenumbrüche reicht ein einfaches Enter im Quelltext bzw. ein <b>\n</b>. Um etwas Einzurücken, müsst ihr Tab bzw. Space benutzen.<br><br>
|
|
|
|
|
|
<h3>HTML-Emails</h3>
|
|
Man kann mit PHP auch HTML-Emails verschicken<br>
|
|
Aber Ihr solltet wissen, das nicht alle E-Mail Programme und E-Mail Anbieter diese HTML-Emails richtig anzeigen.<br><br>
|
|
|
|
Man kann der E-Mail dann auch einen schwarzen Hintergrund geben mit weißer Schrift.<br>
|
|
<br>
|
|
Aber <b>Achtung</b>, nicht alle E-Mail Programme/Anbieter zeigen die weiße Schrift an. Diese ersetzten sie dann manchmal durch schwarze Schrift, oder den schwarzen Hintergrund durch einen weißen.
|
|
Somit kann der Empfänger die E-Mail nicht lesen, weil der Text und der Hintergrund identisch sind.<br><br>
|
|
|
|
Damit PHP HTML-Emails verschicken kann, müsst Ihr die <b>$from</b> Variable etwas verändern.
|
|
|
|
<font color="#606060">
|
|
<pre>
|
|
<?php
|
|
$empfaenger = "empf@domain.de";
|
|
$betreff = "Die Mail-Funktion";
|
|
$from = "From: Nils Reimers <absender@domain.de>\n";
|
|
$from .= "Reply-To: absender@domain.de\n";
|
|
$from .= "Content-Type: text/html\n";
|
|
$text = "Hier lernt Ihr, wie man mit <b>PHP</b> Mails
|
|
verschickt";
|
|
|
|
mail($empfaenger, $betreff, $text, $from);
|
|
?>
|
|
</pre>
|
|
</font>
|
|
|
|
Die Variable <b>$from</b> wird einfach ergänzt, aber achtet darauf, das nach dem Absender noch ein <b>\n</b> stehen muss.<br><br>
|
|
|
|
Außerdem haben wir noch eine Reply (Antwort) Adresse angegeben. <br><br>
|
|
|
|
Bei dem Text müssen wir aufpassen, dass wir die Anführungszeichen " durch ein Backslash (\) maskieren müssen.<br><br>
|
|
|
|
<b>Beispiel:</b>
|
|
<b>Beispiel 2:</b>
|
|
<font color="#606060">
|
|
<pre>
|
|
<?php
|
|
$text = "Hier lernt Ihr, wie man mit
|
|
<font color=\"red\">PHP</font> Mails verschickt";
|
|
?>
|
|
</pre>
|
|
</font>
|
|
|
|
|
|
Der Text der Nachricht muss in dem Fall mittels HTML formatiert werden!
|
|
Hier reicht für ein Zeilenumbruch kein Enter mehr, sondern man muss <br> benutzen.<br><br>
|
|
|
|
<h3>Extra Funktionen</h3>
|
|
Wir können mir der <b>mail-Funktion</b> noch mehr machen, diese Angaben braucht man aber nicht unbedingt.<br><br>
|
|
|
|
|
|
Alle Angaben stehen im <b>From</b> Abschnitt.<br><br>
|
|
|
|
|
|
<font color="#606060">
|
|
<pre>
|
|
<?php
|
|
$from="From:Nils Reimers<email@domain.de>\n";
|
|
$from .= "Reply-To: email@domain.de\n";
|
|
$from .= "Cc: email2@domain.de\n";
|
|
$from .= "Bcc: email3@domain.de\n";
|
|
$from .= "X-Mailer: PHP/" . phpversion(). "\n";
|
|
$from .= "X-Sender-IP: $REMOTE_ADDR\n";
|
|
$from .= "Content-Type: text/html";
|
|
?>
|
|
</pre>
|
|
</font>
|
|
|
|
Mit Cc und Bcc wird die E-Mail an zwei weitere Adressen gesendet. Diese beiden Adresse sind der Cc und Bcc, diese Funktion kennt man auch von seinem Email-Anbieter.<br><br>
|
|
|
|
Danach wird beim <b>X-Mailer</b> die PHP-Version des Servers angegeben. Mit <b>X-Sender-IP</b> erfahren wir die IP-Adresse des Versenders.<br><br>
|
|
|
|
Die letzte Angabe bestimmt wieder, das es eine HTML Mail ist.<br><br>
|
|
|
|
Bei Mailprogrammen wie z.B. Outlook oder Thunderbird kann man sich den Quelltext einer Email anzeigen lassen. Dort gibt es dann auch einen Head-Bereich, der bei uns der Variable $from entspricht.<br>
|
|
Manche Werte werden von dem Mail-Server angehängt, andere können wir aber im PHP Script definieren.<br><br>
|
|
|
|
Als nächsten lernen wir, wie man einen Text <a href="einf_php_suchen_ersetzen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_suchen_ersetzen.php">durchsuchen und ersetzen</a> kann.
|
|
<br><br>
|
|
|
|
|
|
|
|
|
|
<a href="http://www.php-einfach.de/nav_impressum.php">Autor Andavos</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div align="center"><a href="#oben">Nach oben</a></div>
|
|
</td>
|
|
<td height="100" width="10"></td>
|
|
</tr>
|
|
</table>
|
|
|
|
</td>
|
|
<td valign="top" bgcolor="#FFE09F" width="160">
|
|
|
|
<table width="160" cellspacing="0" border="0" cellpadding="0">
|
|
<tr>
|
|
<td height="100" width="5"></td>
|
|
<td valign="top" class="black2" height="100" width="150">
|
|
|
|
<br><b><center><img src="grafiken/side_news.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_news.gif" width="150" height="25" border="0" alt=""></center></b>
|
|
|
|
|
|
<a target="_blank" href="http://www.php-einfach.de/nav_news.php">News</a>
|
|
<br><br>
|
|
|
|
<b><center><img src="grafiken/side_forum.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_forum.gif" width="150" height="25" border="0" alt=""></center></b>
|
|
<a target="_blank" href="http://forum.php-einfach.de/">Forum</a>
|
|
<br><br>
|
|
|
|
<b><center><img src="grafiken/side_newsletter.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_newsletter.gif" width="150" height="25" border="0" alt="Newsletter"></center></b>
|
|
|
|
<form target="_blank" method="post" action="http://www.php-einfach.de/clanletter/save.php">
|
|
|
|
|
|
<br> <br>
|
|
<div align="center">© PHP-Einfach.de 2003 - 2007 </div>
|
|
</td>
|
|
<td height="100" width="5"></td>
|
|
</tr>
|
|
</table>
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html> |