Source:Email verschicken: Unterschied zwischen den Versionen
Aus Alexander's Wiki
Admin (Diskussion | Beiträge) K (Änderungen von 195.55.130.44 (Diskussion) rückgängig gemacht und letzte Version von 134.169.164.188 wiederhergestellt) |
|||
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{GoogleAnalytics}} | |||
Diese Seite muss noch weiter überarbeitet werden | Diese Seite muss noch weiter überarbeitet werden | ||
---- | ---- | ||
Bevor man sich eine Email "zusammenbastelt", sollte man ein wenig den Aufbau einer Email kennen. Dafür empfehle ich den folgenden [http://de.wikipedia.org/wiki/Header_%28E-Mail%29 Artikel] aus der großen Wikipedia. | Bevor man sich eine Email "zusammenbastelt", sollte man ein wenig den Aufbau einer Email kennen. Dafür empfehle ich den folgenden [http://de.wikipedia.org/wiki/Header_%28E-Mail%29 Artikel] aus der großen Wikipedia. | ||
== Email per PHP == | == Email per PHP == |
Aktuelle Version vom 22. November 2010, 21:46 Uhr
Vorlage:GoogleAnalytics Diese Seite muss noch weiter überarbeitet werden
Bevor man sich eine Email "zusammenbastelt", sollte man ein wenig den Aufbau einer Email kennen. Dafür empfehle ich den folgenden Artikel aus der großen Wikipedia.
Email per PHP
Dieses Script verschickt nicht nur eine Email, sondern macht vorher ein Backup von einer mySQL-Datenbank und verschickt dieses als Email. Ich denke, man kann beide Funktionen auseinander halten.
<?php
/* Database */
$db = "database";
$dbuser = "username";
$dbpw = "password";
$dbhost = "localhost";
/* Email*/
$to = "emailadresse";
/* Misc */
$file = "_B_A_C_K_U_P_" . $db . ".sql.gz";
$message = "Backup ".$file." of ".$dbhost." attached.\n\n-- \n" . strip_tags($_SERVER["SERVER_SIGNATURE"]);
$subject = "Backup ".$file;
$from = "MySQL-Backup<".$_SERVER["SERVER_ADMIN"].">";
/* Systemcall */
system("/usr/bin/mysqldump -u".$dbuser." -p".$dbpw." -h ".$dbhost." ".$db." | /bin/gzip > ".$file, $fp);
if ($fp==0) echo "Dump generated"; else die("Ooops. An error occured!");
/* Prepare the email*/
$boundary = strtoupper(md5(uniqid(time())));
$mail_header = "From:".$from."\n";
$mail_header .= "MIME-Version: 1.0";
$mail_header .= "\nContent-Type: multipart/mixed; boundary=".$boundary;
$mail_header .= "\n\nThis is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format";
$mail_header .= "\n--".$boundary;
$mail_header .= "\nContent-Type: text/plain";
$mail_header .= "\nContent-Transfer-Encoding: 8bit";
$mail_header .= "\n\n".$message;
$file_content = fread(fopen($file,"r"),filesize($file));
$file_content = chunk_split(base64_encode($file_content));
$mail_header .= "\n--".$boundary;
$mail_header .= "\nContent-Type: application/octetstream; name=\"".$file."\"";
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment; filename=\"".$file."\"";
$mail_header .= "\n\n".$file_content;
$mail_header .= "\n--".$boundary."--";
/* Send the email */
mail($to,$subject,"",$mail_header);
?>