tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
13
ZUGRIFFE
411
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Thomasio Thomasio ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    685
    Ich benutze seit Jahren ein PHP Script, was Daten aus MySQL liest und via mail() an diverse User verteilt.
    Das Ganze hatte von Anfang an einen Schönheitsfehler, an dem der Provider Schuld ist, und der auch im PHP Manual erwähnt wird.
    Header-Einträge sollten normalerweise mit \r\n voneinander getrennt werden, aber bei meinem Provider geht das nicht, also habe ich (wie im PHP Manual erwähnt) einfach \n verwendet.
    Das hat so weit immer sauber funktioniert, auch mit 50 Mails an 50 verschiedene User hintereinander.

    Seit ein paar Tagen kommen aber nur noch etwa die Hälfte aller gesendeten Mails an, 2 aus 4 oder 5 aus 8 oder so.
    Erster Gedanke natürlich, Bremse einbauen, etwas Pause zwischen den Mails, macht aber keinen Unterschied.
    Nächster Gedanke, ein Testscript schreiben, was NUR die mail() Funktion enthält, so dass der Rest drumrum nicht stört, dabei durfte ich feststellen, dass auch einzelne Mails öfter mal nicht ankommen.

    Der folgende Code

    Code :
    1
    
    echo mail("meinereiner@mydomain.com", "Mail Title", "Content", "From: MySelf<meinereiner@mydomain.com>");

    sendet überhaupt keine Mail, auch nicht bei 10 Versuchen, gibt aber 1 für success aus.

    Den folgenden Code habe ich irgendwo aus einem Forum kopiert, der funktioniert immer und ohne Probleme.

    Code :
    1
    2
    3
    4
    5
    6
    
    $headers = "From: MySelf <meinereiner@mydomain.com>";
    $empfaenger = "meinereiner@mydomain.com";
    $betreff = "Die Mail-Funktion";
    $mail_body = "Hier der E-Mail Text";
     
    mail($empfaenger, $betreff, $mail_body, $headers);

    Ich sehe da aber keinen Unterschied.

    Der langen Rede kurzer Sinn:
    Nachdem das jahrelang funktioniert hat, muss mein Provider wohl irgendwas an den Einstellungen geändert haben, aber ich weiss nicht wie ich das überprüfen kann und schon gar nicht, wie ich das Ganze wieder zum Laufen bringe.
     

  2. #2
    jannicars jannicars ist offline Mitglied Gold
    Registriert seit
    Jun 2011
    Beiträge
    219
    Frag doch den Provider einfach..?
     

  3. #3
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Hi

    kann ich nur zustimmen.
    Irgendwas muss geändert worden sein.
    Wenn nicht von dir, dann vom Provider.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.169
    Hi.

    Hast du den Kommentar hier gesehen:
    After banging my head against the wall, I realized after my host updated PHP that the From line in the header requires quotes around the name where before it worked regardless. Otherwise it will report success, and not sent.

    $headers .= 'From: "'. $Name . '" <' . $Email . '>' . "\r\n";
    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    Thomasio Thomasio ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    685
    Ja, den Kommentar habe ich gesehen, habe ich probiert, hilft nicht.
    Provider fragen ist leider nicht so einfach, die haben ihre Webseite gerade umgebaut, und da wo früher mal "technischer Support" war ist jetzt Fehlanzeige, vermutlich nur beim Umbauen den Link vergessen, aber bis ich jetzt über andere Support Links, die mich evtl. dann weiter verweisen können, an den technischen Support komme, ist mindestens eine Woche rum.
    Ich weiss, das spricht nicht gerade für den Provider, aber für 2€ pro Monat inkl. unlimitiert Speicherplatz und unlimitiert Traffic kann man halt nicht mehr erwarten.

    Witzig ist, ich habe noch eine zweite HP beim selben Provider, auf der geht alles nach wie vor ohne Probleme, auch der Code der auf der ersten Seite nicht geht.
     

  6. #6
    wollmaus wollmaus ist offline Mitglied Gold
    Registriert seit
    Sep 2010
    Beiträge
    115
    Hast du schon gecheckt ob es garnicht an deinem Mailserver liegt sondern an dem der Adressaten?

    Es kann gut sein dass da Spamfilter geupdatet wurden oder du gar in eine Blacklist gerutscht bist.
     

  7. #7
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Hallo!

    Zitat Zitat von Thomasio Beitrag anzeigen
    Witzig ist, ich habe noch eine zweite HP beim selben Provider, auf der geht alles nach wie vor ohne Probleme, auch der Code der auf der ersten Seite nicht geht.
    Hat nichts zu sagen.
    Ein Hoster wird i.d.R. immer mehrere Server stehen haben.
    Und er ist gut beraten, wenn er nicht alle Server (mehr oder weniger) zeitgleich updatet.
    Mit anderen Worten: die Probleme die Du jetzt hast, könnten evtl. auch für die 2. HP noch auf Dich zukommen.

    Gruss Dr Dau
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  8. #8
    Thomasio Thomasio ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    685
    Ich bin dabei die Seite zu überarbeiten, und während ich dran arbeite geht alle Mail an denselben Empfänger, nämlich mich selbst.
    Es kann nicht sein, dass mein Spamfilter da Probleme macht, denn ich habe auf dem Testaccount gar keine Filter eingestellt.

    Immerhin habe ich mittlerweile eine E-Mail-Adresse von Support bekommen, angeblich antworten die innerhalb 24 Stunden, schaun mer mal.
     

  9. #9
    kab-media kab-media ist offline Mitglied
    Registriert seit
    Oct 2011
    Beiträge
    23
    manche Hoster (HostEurope z.b.) wollen das -f Attribut in der Mailfunktion
     
    Viele Grüße

    kab-media

  10. #10
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Zitat Zitat von kab-media Beitrag anzeigen
    manche Hoster (HostEurope z.b.) wollen das -f Attribut in der Mailfunktion
    Leicht OT: Ist bei HostEurope nicht immer so.
    Hab dort auch was und noch nie ein -f gebraucht.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  11. #11
    Divo1984 Divo1984 ist offline Mitglied Gold
    Registriert seit
    Aug 2010
    Beiträge
    128
    Zitat Zitat von Thomasio Beitrag anzeigen
    Der folgende Code

    Code :
    1
    
    echo mail("meinereiner@mydomain.com", "Mail Title", "Content", "From: MySelf<meinereiner@mydomain.com>");

    sendet überhaupt keine Mail, auch nicht bei 10 Versuchen, gibt aber 1 für success aus.
    sollte logisch sein, lass das echo weg dann sendet der auch ne Mail.


    Ich kann dir nur den PHPMailer empfehlen, der gibt dann nämlich Fehlermeldungen aus wenn der Versand abbricht!
     

  12. #12
    NTDY NTDY ist offline Mitglied Gold
    Registriert seit
    Mar 2004
    Ort
    no-comment
    Beiträge
    136
    Falls Du bei Domainfactory bist, dann musst Du From genauer in mail() spezifizieren:

    PHP-Code:
    $header 'From: '.$von_wem.'' "\r\n" .
        
    'Reply-To: '.$von_wem.'' "\r\n" .
        
    'X-Mailer: PHP/' phpversion(); 
     

  13. #13
    Thomasio Thomasio ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    685
    @Divo
    Wenn ich das echo weglasse, gibt er den return Wert der Mail Funktion nicht mehr aus, an der Funktion ändert das überhaupt nichts.
    Stattdessen den PHPMailer zu verwenden, der auch nur die mail() Funktion benutzt und dementsprechend exakt denselben return Wert ausgibt macht überhaupt keinen Sinn.

    @NTDY
    Nein, ich bin bei www.aruba.it
     

  14. #14
    Thomasio Thomasio ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    685
    Inzwischen habe ich ein wenig herum probiert und das Problem eingekreist.

    Was nicht immer geht (abhängig davon, ob in der Mail Sonderzeichen vorkommen) ist:

    Content-Type: text/plain; charset=UTF-8

    Dagegen funktioniert es mit:

    Content-Type: text/html; charset=UTF-8

    Nur sehe ich dann halt Müll, wenn das Mailprogramm kein HTML kann, oder auf "nur Text" eingestellt ist.

    Die Frage muss also lauten:
    Gibt es eine Möglichkeit text/plain in UTF-8 zu senden oder gibt es eine Möglichkeit text/html so zu formatieren, dass auch ein Mailprogramm in "nur Text" es gescheit anzeigt?
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 05.06.08, 18:29
  2. mail() geht nicht mehr!
    Von neopayne im Forum PHP
    Antworten: 2
    Letzter Beitrag: 12.05.05, 21:23
  3. Hilfe MySQL geht nicht mehr richtig
    Von Zimtgruen im Forum Relationale Datenbanksysteme
    Antworten: 10
    Letzter Beitrag: 17.04.05, 19:21
  4. Mein Internet geht nicht mehr. Keine Websiten mehr aufrufbar
    Von convo im Forum Internet, DSL & Flatrate
    Antworten: 5
    Letzter Beitrag: 06.01.05, 10:26
  5. LAN-Netzwerk geht nicht mehr richtig!
    Von Mortifer im Forum Netzwerke
    Antworten: 1
    Letzter Beitrag: 28.11.04, 10:37