Hallo,
ich möchte meinen Usern die Option bieten, bei neu erstellten Inhalten eine E-Mail zu erhalten. Dazu habe ich mir dieses hier genommen: https://wiki.hs-mittweida.de/index.php/E-Mails_über_PHP_versenden und damit funktioniert es auch eigentlich. Leider kommt nur die erste Mail an, obwohl ich den Vorgang in einer while-Schleife habe, bei der bei einer Testausgabe mit echo auch alle Mailadressen korrekt geholt werden.
Also irgendwas muss wohl nich richtig sein.
So sieht das bei mir aus:
Serveradresse und Benutzer/PW sind in einer anderen Datei definiert.
Btw - wenn ich 'ne Mail über den normalen MTA von Plesk schicke, kommt sie sofort auch bei Providern wie GMX an. Wenn ich über dieses Web Script was schicke, kommt es - vor allem bei GMX - oft gar nicht an. Bei anderen Providern mit Glück.
Wenn es doch per Webmail oder Thunderbird mit dem gleichen Server possible ist Mails zu versenden, warum dann nicht per PHP? Generell nicht oder muss man da das Script um irgendwelche Sachen erweitern? Verstehe das nicht, das hat ja bei mir noch nie wirklich geklappt ...
ich möchte meinen Usern die Option bieten, bei neu erstellten Inhalten eine E-Mail zu erhalten. Dazu habe ich mir dieses hier genommen: https://wiki.hs-mittweida.de/index.php/E-Mails_über_PHP_versenden und damit funktioniert es auch eigentlich. Leider kommt nur die erste Mail an, obwohl ich den Vorgang in einer while-Schleife habe, bei der bei einer Testausgabe mit echo auch alle Mailadressen korrekt geholt werden.
Also irgendwas muss wohl nich richtig sein.
So sieht das bei mir aus:
PHP:
$load_recipients = mysql_query("SELECT * FROM emailoptions WHERE test = 'yes'") or die (mysql_error());
while($get_mailaddys = mysql_fetch_array($load_recipients)){
$recipients_list = $get_mailaddys['email'];
echo $recipients_list;
// Send mail
if ($smtp != 0) {
$in = fgets($smtp, 1024);
fputs($smtp, "EHLO www.xxx.com\r\n");
$in = fgets($smtp, 1024);
fputs($smtp, "AUTH LOGIN\r\n");
$in = fgets($smtp, 1024);
fputs($smtp, base64_encode($user)."\r\n");
$in = fgets($smtp, 1024);
fputs($smtp, base64_encode($pass)."\r\n");
$in = fgets($smtp, 1024);
fputs($smtp, "MAIL FROM: [email protected]\r\n");
$in = fgets($smtp, 1024);
fputs($smtp, "RCPT TO: $recipients_list\r\n");
$in = fgets($smtp, 1024);
fputs($smtp, "DATA\r\n");
$in = fgets($smtp, 1024);
fputs($smtp, "Subject: Testmail\r\n");
fputs($smtp, "From: xxx <[email protected]>\r\n");
fputs($smtp, "To: $userlogin <$recipients_list>\r\n\r\n");
fputs($smtp, "Test.\r\n\r\n");
fputs($smtp, ".\r\n");
} else {
echo "error";
}
// Send mail end
} # while end
$in = fgets($smtp, 1024);
fputs($smtp, "QUIT\r\n");
fclose($smtp);
Btw - wenn ich 'ne Mail über den normalen MTA von Plesk schicke, kommt sie sofort auch bei Providern wie GMX an. Wenn ich über dieses Web Script was schicke, kommt es - vor allem bei GMX - oft gar nicht an. Bei anderen Providern mit Glück.
Wenn es doch per Webmail oder Thunderbird mit dem gleichen Server possible ist Mails zu versenden, warum dann nicht per PHP? Generell nicht oder muss man da das Script um irgendwelche Sachen erweitern? Verstehe das nicht, das hat ja bei mir noch nie wirklich geklappt ...
Zuletzt bearbeitet: