Friday, February 18th 2011, 7:38pm
Tags
email,
Mail,
phpmail,
phpmailer,
webmail
Abstract
Dieses Tutorial zeigt euch wie einfach ihr in PHP Emails verschicken könnt.
Article
Dieses Tutorial erläutert die Nutzung der PHP Klasse: phpmailer. Diese ist sehr verbreitet. Praktisch ist es auch möglich sich einen webmailer unter zu Hilfe nahme der PHP Funktion mail selbst zu programmieren.
Diese hat aber auch viele Nachteile. Es ist sehr schwer fortgeschrittene Funktionen wie Dateianhänge zu implementieren.
Es ist außerdem für einen Anfänger sehr undurchsichtig, wie die Funktion mail missbraucht werden kann. So können z.B. die Empfängerlisten manipuliert werden, obwohl dies der Code gar nicht vorsieht.
Mein Beispielcode weiter unten enthält bereits eine Version, ihr solltet aber versuchen immer die aktuellste Version des phpmailers von sourceforge herunterladen. Den Download findet ihr hier:
http://sourceforge.net/projects/phpmaile…PMailer%20v5.1/
Das einfachste Beispiel zeigt ein HTML Formular:
|
HTML Code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<form method="get">
<input type="hidden" name="submit" value="1" />
<table>
<tr>
<td>Absender Name</td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td>Absender E-Mail</td>
<td><input type="text" name="mail" /></td>
</tr>
<tr>
<td>Empfänger E-Mail</td>
<td><input type="text" name="recipient" /></td>
</tr>
<tr>
<td colspan="2"><textarea name="inhalt" cols="50" rows="10"></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="submit" value="Wunsch abschicken" /></td>
</tr>
</table>
</form>
|
Das Verschicken funktioniert wie folgt
|
PHP Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<?php
if(isset($_POST['submit'])) {
require_once("class.phpmailer.php");
$mail = new PHPMailer();
$mail->AddAddress($_POST['recipient']);
$mail->From = $_POST['mail'];
$mail->FromName = $_POST['name'];
$mail->Subject = $_POST['subject'];
$mail->MsgHTML($_POST['inhalt']);
if(!$mail->Send())
{
echo "Warnung: Fehler beim Senden der Nachricht";
exit;
}
echo "Nachricht wurde erfolgreich verschickt";
exit;
}
?>
|
Ihr findet den hier vorgestellten Download unter
http://demo.easy-coding.de/php/webmailer/download.zip
Weitere Beispiele zum phpmailer findet ihr unter
http://phpmailer.worxware.com/index.php?pg=examples
Ihr könnt dem Mailer beliebig viele Blindempfänger hinzufügen. Das könnt ihr z.B. zum Versenden von Newslettern nutzen.
|
PHP Quellcode
|
1
2
|
$mail->AddBCC("peter@ratlos.de", "Peter");
$mail->AddBCC("susi@sinnlos.de");
|
Ihr könnt der E-Mail beliebig viele Anhänge hinzufügen.
|
PHP Quellcode
|
1
|
$mail->AddAttachment("11-10-00.zip", "new_name.zip"); // optional name
|
Request deletion
report critical content