Source:Email verschicken: Unterschied zwischen den Versionen

Aus Alexander's Wiki
(Die Seite wurde neu angelegt: „Diese Seite muss noch weiter überarbeitet werden ---- == Email per PHP == Dieses Script verschickt nicht nur eine Email, sondern macht vorher ein Backup von ei…“)
 
Zeile 2: Zeile 2:


----
----
= Kenntnisstand =
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 ==
Zeile 55: Zeile 59:


</source>
</source>
== weiterführende Links ==
[http://openbook.galileocomputing.de/javainsel8/javainsel_18_012.htm#mjb306e4632c440d0524d00f224d4fa1bb Email mit Java]

Version vom 13. August 2010, 08:59 Uhr

Diese Seite muss noch weiter überarbeitet werden


Kenntnisstand

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);

?>

weiterführende Links

Email mit Java