Hallo!
Immer wieder kommt in Foren die Frage auf wie versende ich eine E-Mail über ein Kontaktformular ikl. Dateianhang.
Ich habe daraufhin beschlossen eine umfangreiche Lösung zu erstellen.
Mein Script besteht aus folgenden bestand teilen:
* HTML Forumlar
* Email versand über PHPMailer Classse
* Multiupload Java script von Stickman
Formular index.html
| Code: |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script src="multifile.js"></script>
<title>Unbenanntes Dokument</title>
</head>
<body>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="top">
<td colspan="2"> </td>
</tr>
<form action="send.php" method="POST" enctype="multipart/form-data">
<tr valign="top">
<td width="17%"><strong>Deine E-Mail: </strong></td>
<td width="83%"><input name="to" type="text" style="width:300px" size="22" maxlength="100"></td>
</tr>
<tr valign="top">
<td><strong>Name:</strong></td>
<td width="83%"><input name="name" type="text" style="width:300px" size="22" maxlength="100"></td>
</tr>
<tr valign="top">
<td><strong>E-Mail:</strong></td>
<td><input name="email" type="text" style="width:300px" size="22" maxlength="100"></td>
</tr>
<tr valign="top">
<td><strong>Betreff:</strong></td>
<td><input name="subject" type="text" style="width:300px" size="22" maxlength="100"></td>
</tr>
<tr valign="top">
<td><strong>Inhalt:</strong></td>
<td><textarea style="width:300px" name="text" cols="20" rows="10"></textarea></td>
</tr>
<tr>
<td><strong>Attachment:</strong></td>
<td colspan="2"><input id="my_file_element" type="file" name="file_1"> <div align="right"></div></td>
</tr>
<tr>
<td valign="top"><strong><b>Datei</b>en: </strong></td>
<td colspan="2"><div id="files_list"></div>
<script>
var multi_selector = new MultiSelector( document.getElementById( 'files_list' ), 5 );
multi_selector.addElement( document.getElementById( 'my_file_element' ) );
</script></td>
</tr>
<tr valign="top">
<td> </td>
<td><input type="submit" name="Submit" value="Senden"></td>
</tr>
</form>
</table>
</body>
</html>
|
PHP-Script: send.php
| Php: |
<?
include_once('class.phpmailer.php');
$to = $_POST[to];
$from = $_POST[email];
$fromname = $_POST[name];
$subject = $_POST[subject];
$text = $_POST[text];
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "127.0.0.1";
$mail->From = $from;
$mail->FromName = $fromname;
$mail->Subject = $subject;
$mail->AddAddress($to, "");
$mail->Body = $text;
foreach($_FILES as $key => $value) {
$file = $value['name'];
$temp = $value['tmp_name'];
$error = $value['error'];
if(!$error) {
$mail->AddAttachment($temp,$file);
}
}
if(!$mail->Send()) {
} else {
}
?>
|
Eine Demo des ganzen findet man unter www.screamlabs.at.
Vollständiger Download mit PHPMailer Classe und Javascript: www.screamlabs.at
_________________
An manchen Tagen gewinnt man an anderen Tagen verlieren die anderen.