Zum Inhalt springen


PHPWelt.net Blog - Ein weiteres tolles WordPress-Blog


4. März 2008

Googlemail als Mail-Server

Den Server sicherer machen und dabei noch Resourcen sparen? Wer einen Mailserver laufen lässt läuft immer Gefahr eine Spamschleuder zu werden. Außerdem Verbrauchen die ständig laufenden Emailprozesse Resourcen. Google hat einen echt schönen Dienst namens “Google Apps” ins leben gerunfen. Der Dienst ist bis zu einer bestimmten Größe kostenfrei. Per DNSeinträge werden einfach alle Emails zu Google umgeleitet. Dazu muss man nach dem Anmelden folgende MX-Einträge bei sich eintragen:
Google Apps MX
Bis die ersten Emails ankommen, dauert es eine Weile. Die Emails können dann in einer Googlemail-Frontend ähnlichen Oberfläche abgeholtwerden, bzw. via POP oder IMAP.


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