mail(), Return-Path, GMX-Spamfilter

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mail(), Return-Path, GMX-Spamfilter

    Hi,

    Mein Problem: Ich habe meinen Webspace bei domainfactory und dort
    eine "Haupt-Mail-Adresse". Diese wird von meinem Newsletterscirpt als
    Return-Path angegeben und daher wird die Mail von GMX ausgefiltert.

    Ich habe schon beim Scirpt-Autor nachgefragt, der sagte vor Tagen er
    werde "sich mal darum kümmern" .. daher meine Nachfrage hier.

    Folgendes Script sendet den Newsletter, wahrscheinlich genauer die Zeile nach:
    case "send_newsletter": if(!$_REQUEST["index"]) $index = 0;
    Daher habe ich den Rest mal weggelassen (wg. max. Theadlänge)
    Ganz blick ich da leider nicht durch.
    PHP-Code:
        case "send_newsletter": if(!$_REQUEST["index"]) $index 0;
                                else 
    $index $_REQUEST["index"];

                                
    $intervall 1;
                                
    $index_new $index $intervall;

                                
    $textarea stripslashes($_POST["textarea"]) . $mail->removal_direction($_POST["mail_modus"]);
                                
    $tmp_subject stripslashes($_POST["subject"]);

                                if(!
    $index)
                                {
                                  if(
    $_POST["archiv"])
                                  {
                                    
    $query $database->db_query("INSERT INTO fn" $sql_prefix "_archiv (`type`, `subject`, `message`, `date`) VALUES ('$_REQUEST[mail_modus]', '$_REQUEST[subject]', '$_REQUEST[textarea]', '$date')");
                                  }

                                  
    $tmp_header $mail->header($_POST["mail_modus"], $_POST["attachment"], $_FILES['attachment_file']['name']);

                                  if(
    $_POST["attachment"] && $_FILES['attachment_file']['name'])
                                  {
                                    
    move_uploaded_file($_FILES['attachment_file']['tmp_name'], $_FILES['attachment_file']['name']);

                                    
    $tmp_message $mail->attachment_message($_POST["mail_modus"], $_FILES['attachment_file']['name'], $_FILES['attachment_file']['type'], $textarea);

                                    @
    unlink($_FILES['attachment_file']['name']);
                                  } else 
    $tmp_message $textarea;

                                  
    $query $database->db_query("INSERT INTO fn" $sql_prefix "_temp (`message`, `subject`, `header`, `type`) VALUES ('$tmp_message', '$tmp_subject', '$tmp_header', '$_POST[mail_modus]')");
                                }

                                
    $query $database->db_query("SELECT * FROM fn" $sql_prefix "_temp");
                                
    $temp = @mysql_fetch_array($query);


                                
    $query $database->db_query("SELECT email FROM fn" $sql_prefix "_entries WHERE activated = 1 LIMIT $index$intervall");

                                while(
    $entry = @mysql_fetch_array($query))
                                {
                                  
    mail($entry["email"], $temp["subject"], $temp["message"], $temp["header"]);
                                }

                                
    $query $database->db_query("SELECT * FROM fn" $sql_prefix "_entries WHERE activated = 1");
                                
    $count = @mysql_num_rows($query);

                                if(
    $index <= $countheader("Location: index.php?action=send_newsletter&index=$index_new&sid=$sid");
                                else
                                {
                                  
    $query $database->db_query("SELECT email FROM fn" $sql_prefix "_entries WHERE activated = 1");

                                  while(
    $entry = @mysql_fetch_array($query)) eval("\$newsletter_send_bit .= \"".$template->tpl("newsletter_send_bit.htm")."\";");

                                  eval(
    "\$content = \"".$template->tpl("newsletter_send.htm")."\";");
                                  
    $title "Newsletter versenden";
                                  
    $query $database->db_query("DELETE FROM fn" $sql_prefix "_temp");
                                }
        break; 
    Der Mail-Header wird angeblich von einer anderen Datei festgelegt:

    PHP-Code:
    <?php
    class mail_class
    {
      function 
    header($mail_modus$attachment$attachment_file)
      {
        global 
    $options;

        
    $header "From: $options[name_mail] <$options[email]>\n";
        
    $header .= "Return-Path: <$options[email]>\n";

        if(
    $attachment && $attachment_file)
        {
          
    $header .= "MIME-version: 1.0\n";
          
    $header .= "Content-type: multipart/mixed; boundary=\"Message-Boundary\"\n\n";
        }
        else
        {
          if(
    $mail_modus == "html")
          {
            
    $header .= "Content-Type: text/html\n";
            
    $header .= "Content-Transfer-Encoding: 8Bit\n";
          }
          else
          {
            
    $header .= "Content-Type: text/plain\n";
            
    $header .= "Content-Transfer-Encoding: 8Bit\n";
          }
        }
        return 
    $header;
      }

      function 
    body_begin($mail_modus)
      {
        
    $body "--Message-Boundary\n";

        if(
    $mail_modus == "html"$body.= "Content-type: text/html; charset=iso-8859-1\n";
        else 
    $body.= "Content-type: text/plain; charset=iso-8859-1\n";

        
    $body.= "Content-transfer-encoding: 8Bit\n\n";

        return 
    $body;
      }

      function 
    body_end($file_name$file_type)
      {
        
    $file_size filesize($file_name);

        
    $fp fopen($file_name"r");
        
    $contents fread($fp$file_size);
        
    $encoded_file chunk_split(base64_encode($contents));
        
    fclose($fp);

        
    $body "\n\n--Message-Boundary\n";
        
    $body.= "Content-type: $file_type; name=\"$file_name\"\n";
        
    $body.= "Content-Transfer-Encoding: BASE64\n";
        
    $body.= "Content-Disposition: attachment; filename=\"$file_name\"\n\n";
        
    $body.= "$encoded_file\n";
        
    $body.= "--Message-Boundary--\n";

        return 
    $body;
      }

      function 
    attachment_message($mail_modus$file_name$file_type$message)
      {
        
    $message $this->body_begin($mail_modus) . $message $this->body_end($file_name$file_type);

        return 
    $message;
      }

      function 
    removal_direction($mail_modus)
      {
        global 
    $options;

        if(
    $_POST["mail_modus"] == "html"$direction "<br>\n<br>\n-----------<br>\n" str_replace("{firstnews}""<a href=\""$options["url"] . "\" target=\"_blank\">" $options["url"] . "</a>"nl2br($options["remove_notice"]));
        else 
    $direction "\n\n-----------\n" str_replace("{firstnews}"$options["url"], $options["remove_notice"]);

        return 
    $direction;
      }

      function 
    simple_textmail()
      {
        global 
    $options;

        
    $header "From: $options[name_mail] <$options[email]>\n";
        
    $header .= "Return-Path: <$options[email]>\n";
        
    $header .= "MIME-Version: 1.0\n";
        
    $header .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
        
    $header .= "Content-Transfer-Encoding: 7bit";

        return 
    $header;
      }


    }

    ?>
    Was bei GMX ankommt sieht so aus (Header mit maskierten Mail-Adressen):

    Return-Path: <****.gmbh@gmx.at>
    X-Flags: 1000
    Delivered-To: GMX delivery to ****_ott@gmx.at
    Received: (qmail 9496 invoked by uid 65534); 22 Jan 2004 17:21:08 -0000
    Received: from aziab.ispgateway.de (HELO aziab.ispgateway.de) (62.67.200.5
    by mx0.gmx.net (mx027-rz3) with SMTP; 22 Jan 2004 18:21:08 +0100
    Received: (qmail 8774 invoked by uid 0); 22 Jan 2004 17:21:07 -0000
    Received: from unknown (HELO aziab.ispgateway.de) (127.0.0.1)
    by localhost with SMTP; 22 Jan 2004 17:21:07 -0000
    Received: (from u57510@localhost)
    by aziab.ispgateway.de (8.12.8/8.12.8/Submit) id i0MHL038008709;
    Thu, 22 Jan 2004 18:21:00 +0100
    Date: Thu, 22 Jan 2004 18:21:00 +0100
    Message-Id: <200401221721.i0MHL038008709@aziab.ispgateway.de>
    To: ****_ott@gmx.at
    Subject: Test 3
    From: "****park.com Newsletter" <info@****park.com>
    Content-Type: text/plain
    Content-Transfer-Encoding: 8Bit
    X-GMX-Antivirus: -1 (not scanned, may not use virus scanner)
    X-GMX-Antispam: 4 (From mass domain over foreign mail server)
    Irgendwelche Vorschläge? Ich habe schon den Parameter
    -fadresse@mail.com versucht, aber ohne Erfolg.

    Gruß,
    Syco
    [COLOR=darkblue].: 1+1=23 :.[/COLOR]

  • #2
    Re: mail(), Return-Path, GMX-Spamfilter

    Der Mail-Header wird angeblich von einer anderen Datei festgelegt:


    such mal in der mail_class nach
    PHP-Code:
    $header .= "Return-Path: <$options[email]>\n"
    steht min. 2x drin ...
    wenn du die da übergebene email-adresse durch 'irgend_was_anderes' ersetzt ... wird sie nie wieder mitgesendet, oder?
    [/quick&dirty]

    btw: hab noch nie ne mail per php verschickt, zumindest praktisch noch nicht, ... sollte aber möglich sein, den return-pfad leer zu lassen etc.
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Gutgut, ich hab mich dumm angestellt, war aber auch schon ausgepowert und müde.

      Warum führt dieser Header
      PHP-Code:
      $header "From: $options[name_mail] <$options[email]>\n";
      $header .= "Return-Path: <$options[email]>\n"
      zu unterschiedlichen Retrun-Path und Absender-Adresse. Es wird ja beidemale $options[email] genommen..
      [COLOR=darkblue].: 1+1=23 :.[/COLOR]

      Kommentar


      • #4
        hi

        sicher das die beiden variablen den gleichen wert haben ????

        Kommentar


        • #5
          naja, angesicht der Tatsache, dass die beiden Zeilen im Script direkt aufeinander folgen, ist es doch ziemlich wahrscheinlich. Verstehen tu ichs aber auch net.

          Kommentar


          • #6
            kann es sein, dass deine "haupt-mail-adresse" auif *park.com endet?
            und das domainfactory was dagegen hat, dass du die absenderadresse auf nen anderen wert setzt?
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Ich hatte es ja schon geschrieben:
              Return-Path: <****.gmbh@gmx.at>
              Der Return-Path ist auch gleich meine "Haupt-Mail-Aresse", also ****.gmbh@gmx.at

              info@****park.com habe ich beim Newsletter-Script, das auch
              auf der Domain ****park.com läuft als Mail-Aresse angegeben.
              [COLOR=darkblue].: 1+1=23 :.[/COLOR]

              Kommentar


              • #8
                Original geschrieben von syco23
                info@****park.com habe ich beim Newsletter-Script, das auch
                auf der Domain ****park.com läuft als Mail-Aresse angegeben.
                kann sendmail so konfiguriert werden, dass das FROM feld nicht geändert werden kann?
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  kann sendmail so konfiguriert werden, dass das FROM feld nicht geändert werden kann?
                  Es ging ja eher darum, dass der Return-Path sich nicht ändern ließ.

                  ABER, Mea Culpa - im Ernst, ich werde in Zunkunft etwas besser testen bevor ich fragen stelle. -fadresse@mail.com hat doch funktioniert, nur hatte ich übersehen, dass es noch eine 2. Datei gibt die Ebenfalls Mails verschickt (Anmelde-Bestätigungslink etc.)

                  Also, soooorry. Bleibt aber noch die Frage, warum
                  PHP-Code:
                  $header .= "Return-Path: <$options[email]>\n"
                  nicht gereicht hat...

                  Gruß,
                  Syco
                  [COLOR=darkblue].: 1+1=23 :.[/COLOR]

                  Kommentar


                  • #10
                    Ebenfalls Problem mit Return-Path

                    Habe so ein ähnliches Problem. Return-Path ist immer der von sendmail_from aus der PHP.ini.
                    Bekomme diesen auch nicht über den Header umgeschrieben. Auch nicht, wenn ich da ein anderes (existierendes)
                    Konto auf dem SMTP angebe. Ist diese Header Eigentschaft etwa nicht änderbar?

                    Hier mal mein Headerauszug:
                    Code:
                    		$Mail->Header = 'From: ' . $FromName . ' <' . $PostVars->EmailFrom . ">\n"
                    		              . 'Return-Path: ' . $FromName . ' <' . $PostVars->EmailFrom . ">\n"
                    		              . 'Content-Type: text/' . $PostVars->Format ;
                    Hat jemand ne Ahnung was man dabei machen könnte?

                    Thx,
                    Heinzelmännchen

                    Kommentar


                    • #11
                      Re: Ebenfalls Problem mit Return-Path

                      Original geschrieben von Heinzelmännchen
                      Habe so ein ähnliches Problem. Return-Path ist immer der von sendmail_from aus der PHP.ini.
                      Bekomme diesen auch nicht über den Header umgeschrieben.
                      hast du mal versucht, den wert aus der php.ini per ini_set() zu überschreiben?
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Alles klar,

                        hat natürlich prima funktioniert. Danke für den schnellen support!

                        Bye,
                        Heinzelmännchen

                        Kommentar

                        Lädt...
                        X