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 = "empfaenger@example.net";
$MToName = "Empfaengername";
$MFrom = "absender@example.net";
$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 );
}
?>