[gelöst] Drupal versendet keine E-Mails
Eingetragen von tfranz (125)
am 13.09.2010 - 10:48 Uhr in
am 13.09.2010 - 10:48 Uhr in
Hallo,
ich habe ein Problem mit einer mehrsprachigen Drupal-Installation (6.19) – es werden weder bei der Registrierung, noch über das Kontaktformular E-Mails versendet.
An Drupal scheint es meiner Meinung nach nicht zu liegen, da in den Protokolleinträgen keine Fehlermeldung erscheint:
Ihr Passwort und weitere Anweisungen wurden an Ihre E-Mail-Adresse versandt.
bzw.
Nachricht: Admin [xyz@xyz.de] hat eine E-Mail betreffend Contact geschrieben.
Der Versand über mail() funktioniert mit folgendem Skript aus dem Ordner der Drupal-Installation:
<?php
$to = "xyz@xyz.de";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
if (mail($to, $subject, $body)) {echo("<p>Message successfully sent!</p>"); } else { echo("<p>Message delivery failed...</p>");}
?>
Woran könnte es liegen, dass keine E-Mails von Drupal versendet werden?
Danke für Tipps und Hinweise!
Tobias
- Anmelden oder Registrieren um Kommentare zu schreiben
ich würde es ein bißchen
am 13.09.2010 - 11:22 Uhr
ich würde es ein bißchen anders schreiben....
<?php
$to="dsfasfsdf@dfdsfdf.de";
/* Baut Header der Mail zusammen */
$headers="";
$headers .= "From: blalbalba <blalbl@domain.de>\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
$subject = "betreff";
$body="";
$body.="Guten Tag....,\n\n";
$body.="wir haben Ihre Nachricht erhalten und\n";
mail("$to", "$betreff","$body","$headers");
?>
muß mal ausprobieren, ob es so funktioniert. Also bei mir klappt es so immer ganz fantastisch.
Da habe ich mich wohl etwas
am 13.09.2010 - 11:45 Uhr
Da habe ich mich wohl etwas missverständlich ausgedrückt: das Skript funktioniert ganz wunderbar, so wie es ist!
Mein Problem: soweit ich weiss, nutzt Drupal dieselbe PHP-Funktion "mail()", um E-Mails zu versenden.
Also: warum funktioniert mein Skript, aber nicht Drupal, obwohl doch in beiden Fällen mit derselben PHP-Funktion gearbeitet wird?
Guck Dir mal folgenden
am 13.09.2010 - 11:49 Uhr
Guck Dir mal folgenden Comment an: http://api.drupal.org/api/function/drupal_mail#comment-198
... das macht es aus meiner
am 13.09.2010 - 12:27 Uhr
... das macht es aus meiner Sicht nicht unbedingt besser: wenn ich den dort angegebenen Code "spasseshalber" in eine Seite einfüge, dann wird auch tatsächlich eine E-Mail versendet:
drupal_mail_send($message)
scheint also zu funktionieren ...Aber warum kommt keine Mail vom Kontaktformular oder beim Registrieren?
Steht denn was in den Logs?
am 13.09.2010 - 12:28 Uhr
Steht denn was in den Logs? Wenn ja, bitte mal posten.
Bei manchen Providern muß
am 13.09.2010 - 12:50 Uhr
Bei manchen Providern muß erst eine Standard Email Adresse gesetzt werden, bevor sie aus PHP heraus Mails zulassen. Am besten mal beim Support des Providers nachfragen.
Beste Grüße
Werner
wla schrieb Bei manchen
am 13.09.2010 - 13:11 Uhr
Bei manchen Providern muß erst eine Standard Email Adresse gesetzt werden, bevor sie aus PHP heraus Mails zulassen.
Aber dann dürfte
PHP mail()
doch überhaupt nicht funktionieren, oder?Grundsätzlich funktioniert es ja, nur Drupal scheint da noch ein Problem mit zu haben.
... werde mal versuchen, an die Server-Logs zu kommen: das Drupal-Protokoll zeigt zumindest keine Fehler.
In den Server-Logs stand der
am 13.09.2010 - 15:46 Uhr
In den Server-Logs stand der Hinweis zur Lösung:
<info@xyz.de>550-Unrouteable address 550 Sender verify failed
Mein Fehler war, dass ich in den Webseiten-Einstellungen eine nicht existierende E-Mail-Adresse eingegeben hatte – insofern hatte der Hinweis von wla ebenfalls seine Berechtigung ...
Nach der Eingabe der Standard-Adresse funktioniert alles wieder wie es soll: vielen Dank für die schnelle Hilfe!!
z. B. bei Hosteurope
am 31.05.2011 - 11:47 Uhr
Da ich gerade darüber stolperte (bei all-inkl.com hatte ich nie Probleme): Bei Hosteurope kann man das im KIS einstellen: Administration > Webhosting > [Paketname] > Skripte >> Standard-E-Mail-Adresse.
Ein bisschen ärgerlich könnte allerdings werden, dass die Standardadresse dann für alle zugeordneten Domains gilt.