Keine Ahnung: mail() versendet keine Mails ohne Fehlermeldung

Hi,

genau so ist es. Ich bastel mir eine Mail verschicke sie mit mail() aber es kommt nichts an und mail() liefert auch noch true zurück! Woran kann sowas denn leigen?

Ich habe 80 Adressen an die ich eine Mail schicken wollte, die ersten 10 oder so haben sie auch bekommen, der Rest nicht (Adressen sind richtig). Fehlermeldung oder so habe ich keine bekommen.

Jemand ne Idee?

  1. Hallo Keine,

    Ich habe 80 Adressen an die ich eine Mail schicken wollte, die ersten 10 oder so haben sie auch bekommen, der Rest nicht (Adressen sind richtig). Fehlermeldung oder so habe ich keine bekommen.

    Jemand ne Idee?

    Ja. Vermutlich mag Dein SMTP nicht, daß Du so viele Mails in so kurzer Zeit verschickst und macht ab einer bestimmten Anzahl verschickter E-Mails pro Zeiteinheit zu. Das ist zumindest das, was ich Deiner Beschreibung nach für das naheliegendste halten würde.
    Frage also einfach mal bei Deinem Provider nach, ob es da irgendwelche Begrenzungen gibt.

    Ansonsten: Weißt Du sicher, daß sie nicht verschickt werden und nicht in irgendwelchen Spamfiltern landen?

    Grüße aus Stockholm,
    Götz

    --
    Losung für Dienstag, 22. April 2008
    Wahrt das Recht und übt Gerechtigkeit; denn mein Heil ist nahe, dass es komme, und meine Gerechtigkeit, dass sie offenbart werde. (Jesaja 56,1)
    Siehe, jetzt ist die Zeit der Gnade, siehe, jetzt ist der Tag des Heils! (2.Korinther 6,2)
    (zur aktuellen Losung)
    1. Hallo Götz

      Frage also einfach mal bei Deinem Provider nach, ob es da irgendwelche Begrenzungen gibt.

      Angeblich werden keine Mails geblockt was auch immer das heißen mag.

      Ansonsten: Weißt Du sicher, daß sie nicht verschickt werden und nicht in irgendwelchen Spamfiltern landen?

      Ja, da bin ich mir sicher habe mit einigen gesprochen und die haben auch extra nachgesehen.

      Beim Support haben sie mir gesagt, dass sie es sich mal ansehen was der Server so macht aber bis jetzt habe ich da keine Ahntwort bekommen.

  2. Inzwischen habe ich noch mal mit dem Provider geredet. Der sieht nicht das ne Mail verschickt worden ist...

    hier mal mein Skript, vielleicht ist da ja doch was falsch:

    $header = "From: Mir test@test.de";
    $betreff = "Hallo";
    $adressen = $result[4];
    $text = "Hallo ich bin ein Text";

    if(mail("$adressen", $betreff, $text, $header)){
     $err = "Mail gesendet an: ".$result[4];
     }
    else{
           $err = "Fehler beim senden an: ".$adressen];
     }

    1. echo $begrüßung;

      hier mal mein Skript, vielleicht ist da ja doch was falsch:

      $header = "From: Mir test@test.de";
      $betreff = "Hallo";
      $adressen = $result[4];
      $text = "Hallo ich bin ein Text";

      Was ist der Inhalt von $result[4]? Mach eine Kontrollausgabe mit var_dump().
      Warum duplizierst du den Wert durch das Kopieren in eine anderere Variable?

      if(mail("$adressen", $betreff, $text, $header)){
      $err = "Mail gesendet an: ".$result[4];
      else{
             $err = "Fehler beim senden an: ".$adressen];

      Warum verwendest du Original und Kopie gemischt? Es reicht bei reinen Lesevorgängen, ganz auf die Kopie zu verzichten und stets das Original zu verwenden. Außerdem muss man Variablennamen nicht in "" setzen.

      echo "$verabschiedung $name";

      1. Sorry das das etwas durcheinander ist. Warum ich das mit dem $adressen = $result gemacht habe weiß ich jetzt leider nicht mehr kannsein das ich das wo anders noch verwende.

        $result habe ich schon gecheckt, weil das auch mein erster Gedanke war, dass des vielleicht kein Sting ist, ist es aber.

        Ich habe die Seite mit dem Skript in ein anderes Verzeichnis geschoben und da gehet es. Also einzelmails gehen, an alle habe ich mich bis jetzt nicht getraut...

    2. Hallo,

      $header = "From: Mir test@test.de";

      und wieder mal "freut" sich die Stiftung Warentest, dass ihre Domain für völlig zweckfremde Dinge missbraucht wird.
      Für neutrale Beispiele sind extra die Beispiel-Domains example.com, example.org usw. oder die Top-Level-Domain .test gedacht. Benutze bitte nicht willkürlich fremde Domains; du weißt nie, was der Inhaber davon hält, vielleicht auch nicht, was sich hinter dem gewählten Domainnamen wirklich verbirgt. Womöglich verlinkst du noch eine Hardcore-Pornoseite, ohne es zu wissen.

      $adressen = $result[4];

      Wozu umkopieren?

      if(mail("$adressen", $betreff, $text, $header))

      Und warum bettest du die Empfängeradresse(n) hier nochmal in einen String ein? Sie liegen doch bestimmt schon als String vor.

      So long,
       Martin

      --
      Niemand lebt allein von seinen Träumen.
      Aber wer träumt, lebt noch.
      1. Hello,

        Womöglich verlinkst du noch eine Hardcore-Pornoseite, ohne es zu wissen.

        Wieso? Musst Du da immer erst testen?

        Ein harzliches Glückauf

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Hallo Tom,

          Womöglich verlinkst du noch eine Hardcore-Pornoseite, ohne es zu wissen.
          Wieso? Musst Du da immer erst testen?

          natürlich! Man muss doch wissen, was man weiterempfiehlt! ;-)

          *scnr*
           Martin

          --
          Wenn zwei dasselbe tun, sind sie vielleicht bald zu dritt.
    3. Hi there,

      $err = "Fehler beim senden an: ".$adressen];

      wenn das die Originalzeile ist kann ich Dir sagen, warum nichts verschickt wird. $adressen] ist sicher ein Variablenname, der in PHP zu einem Fehler führt;)