PHP Mail via SMTP-Auth

Aufgrund zahlreicher Spam EMails ist es heute leider bei vielen Providern nicht mehr sinnvoll möglich EMails aus PHP-Scripten via mail() abzusetzen.
Die EMails werden, im Gegensatz zum Versand via SMTP-Auth im EMail-Programm sehr häufig als Spam zurückgewiesen.

Es ist garnicht so schwierig eine EMail via fsockopen und fgets zu versenden.

Hier das kleines PHP-Script ohne jede Schöpfungshöhe:

<?php
$MTo       = "[email protected]";
$MToName   = "Empfaengername";
$MFrom     = "[email protected]";
$MFromName = "Absendername";
$MSubject  = "Die Betreffzeile der EMail!";
$MMessage  = "World, Hello!";
SendSMTPMail( $MFrom, $MFromName, $MTo, $MToName, $MSubject, $MMessage );
?>


<?php
function SendSMTPMail( $MFrom, $MFromName, $MTo, $MToName, $MSubject, $MMessage )
  {
    $smtpServer   = "smtp.strato.de";
    $smtpPort     = "25";
    $timeout      = "30";
    $username     = "EMail-Adresse als Benutzername";
    $password     = "Passwort für den SMTP Server";
    $localhost    = "h12345.stratoserver.net";
    $newLine      = "\r\n";
    $smtpConnect  = fsockopen( $smtpServer, $smtpPort, $errno, $errstr, $timeout );
    $smtpResponse = fgets( $smtpConnect, 515 );
    if ( empty( $smtpConnect ) )
      {
        $output = "Failed to connect: $smtpResponse";
        return $output;
      }
    fputs( $smtpConnect, "AUTH LOGIN" . $newLine );
    $smtpResponse = fgets( $smtpConnect, 515 );
    fputs( $smtpConnect, base64_encode( $username ) . $newLine );
    $smtpResponse = fgets( $smtpConnect, 515 );
    fputs( $smtpConnect, base64_encode( $password ) . $newLine );
    $smtpResponse = fgets( $smtpConnect, 515 );
    fputs( $smtpConnect, "HELO $localhost" . $newLine );
    $smtpResponse = fgets( $smtpConnect, 515 );
    fputs( $smtpConnect, "MAIL FROM: $MFrom" . $newLine );
    $smtpResponse = fgets( $smtpConnect, 515 );
    fputs( $smtpConnect, "RCPT TO: $MTo" . $newLine );
    $smtpResponse = fgets( $smtpConnect, 515 );
    fputs( $smtpConnect, "DATA" . $newLine );
    $smtpResponse = fgets( $smtpConnect, 515 );
    $headers      = "MIME-Version: 1.0" . $newLine;
    $headers .= "Content-type: text/html; charset=iso-8859-1" . $newLine;
    $headers .= "To: $MToName <$MTo>" . $newLine;
    $headers .= "From: $MFromName <$MFrom>" . $newLine;
    fputs( $smtpConnect, "To: $MTo\nFrom: $MFrom\nSubject: $MSubject\n$headers\n\n$MMessage\n.\n" );
    $smtpResponse = fgets( $smtpConnect, 515 );
    fputs( $smtpConnect, "QUIT" . $newLine );
    $smtpResponse = fgets( $smtpConnect, 515 );
  }
?>

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.