Zum Inhalt springen


PHPWelt.net Blog - Ein weiteres tolles WordPress-Blog


19. Februar 2008

Mit PHP eine Email senden

PHP ermöglicht es ohne umständliche programmierung Emails zu versenden. Der Befehl dazu heist ganz schlicht mail() und hat folgende struktur:

bool mail  ( string $to  , string $subject  , string $message  [, string $additional_headers  [, string $additional_parameters  ]] )

Um eine ganz einfache Email zu versenden, könnte die PHP-Datei wie folgt aussehen:

<?php
  mail("empfänger@domain.de", "Betreff", "Nachricht", "From: Absendername <absender@domain.de>");
  ?>

Wir dieser Code ausgeführt erhält der Inhaber der Emailadrese empfänger@domain.de eine Email von absender@domain.de.
Email als HTML-Mail versenden

<?php
  $header= "From: Absendername <$absender@domain.de>\n";
  $header.= "Content-Type: text/html\n
             Content-Transfer-Encoding: 8bit\n"
;
  mail("empfänger@domain.de", "Test Email als HTML-Mail", "Nachricht", $header);
  ?>

Email mit Anhang versenden

<?
$trenner="--trenner--";

$dateiname="test.txt";

$message="\n--$trenner\n";
$message.="Content-transfer-encoding: 7BIT\r\n";
$message.="Content-type: text/plain\n\n";
$message.= "Anbei die Datei";
$message.="\n\n";
$message.="\n--$trenner\n";
$message.="Content-Type: application/octetstream;\n\tname=$dateiname\n";
$message.="Content-Transfer-Encoding: base64\n";
$message.="Content-Disposition: attachment;\n\tfilename=$dateiname\n\n";
$message.=chunk_split(base64_encode($dateiinhalt));
$message.="\n\n";
$message.="--$trenner";

$header ="MIME-Version: 1.0\r\n";
$header.="From: Absendername <$absender@domain.de>\n";
$header.="Content-Type: multipart/mixed;\n\tboundary=$trenner\n";

mail("empfänger@domain.de","Testemail mit Anhang",$message,$header);
?>