Probleme mit mail()Benutzung von BCC

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

  • Probleme mit mail()Benutzung von BCC

    Hallo Leute!

    Ich habe 2 funktionen, die erste liest die Emailadressen aus der Datenbank und übergibt an die nächste Funktion diese als BCC für die Headerinformationen.

    Habe ein echo eingefügt und das Zeigt mir an das er genau das tut was er tun sollte. Doch leider werden keine Mails per BCC verschickt.
    Erhalte eine Mail an die Adresse der Konstante ADMINMAIL, leider aber die BCC nicht.

    1 Funktion der geht perfekt
    PHP-Code:
            function putListSubscribers ($category)
            {
                
    $this->category $category;
                
    $this->sqlstatment "SELECT * FROM " DBTABLE " WHERE " $this->category " = '1' AND switchMT < 2";
                
    $this->writeInputInDB($this->sqlstatment);
                while (
    $row mysql_fetch_array($this->resultMYSQL_ASSOC)) {
                    
    $this->id $row["id"];
                    
    $this->emailaddress $row["emailaddress"];
                    
    $liste .= "Bcc: " $this->emailaddress "\r\n||";

                    }
                    return 
    $liste;
        
            } 
    2 Funktion versenden von Emails:

    PHP-Code:
            function sendMail ($emaillist$category$mailheader$mailcontent)
            {
                
    $this->emaillist $emaillist;
                
    $this->category $category;
                
    $this->mailheader $mailheader;
                
    $this->mailcontent $mailcontent;
                
    $this->emaillist_in_array explode("||"$this->emaillist);
                
    $header  'MIME-Version: 1.0' "\r\n";
                
    $header .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
                foreach (
    $this->emaillist_in_array as $this->bccmail)
                {
                    
    $header .= $this->bccmail;
                }
                
                
    mail(ADMINMAIL$this->mailheader$this->mailcontent$header);
                echo 
    $header;
                
            } 
    Die Ausgabe vom Echo ist:
    MIME-Version: 1.0 Content-type: text/html; charset=iso-8859-1 Bcc: benjamin@geschwaerzt.com Bcc: bsqtmp@geschwaerzt.com Bcc: ben@geschwaerzt.at

  • #2
    wie ist es, wenn bcc nur ein mal angegeben wird?
    zeig mal vielleicht die testausgabe per var_dump in allen einzelheiten (originalformatierung)

    Kommentar


    • #3
      Die Originalformatierung ist:

      string(137) "MIME-Version: 1.0 Content-type: text/html; charset=iso-8859-1 Bcc: benjamin@geschwaerzt.com Bcc: bsqtmp@geschwaerzt.com Bcc: ben@geschwaerzt.at "
      Und bei nur einer Emailadresse im BCC funktioniert es .....

      Kommentar


      • #4
        wenn das die originalformatierung ist, so fehlen dort alle zeilenumbrüche.

        und zu deinem problem: im rfc2822 findest du, wie man ein feld mit mehreren empfängern richtig formatiert.

        Kommentar


        • #5
          Ich habe wie du im Code siehst den Zeilenumbruch gemacht.

          PHP-Code:
          "\r\n" 

          Die Dokumentationen zu rfc2822 sagen mir irgendwie garnichts.

          Kommentar


          • #6
            ich habe nicht nach deinem code gefragt, sondern nach der ausgabe. und dort sehe ich keine umbrüche.

            Die Dokumentationen zu rfc2822 sagen mir irgendwie garnichts.
            das ist schlecht. ich finde "3.6.3. Destination address fields" mehr als klar.

            Kommentar


            • #7
              Vielen Dank so wie es im rfc2822 steht geht es nun indem ich
              das ganze mit einem , trenne.


              Anbei jetzt die Lösung:

              PHP-Code:
                       function putListSubscribers ($category)
                      {
                          
              $this->category $category;
                          
              $this->sqlstatment "SELECT * FROM " DBTABLE " WHERE " $this->category " = '1' AND switchMT < 2";
                          
              $this->writeInputInDB($this->sqlstatment);
                          while (
              $row mysql_fetch_array($this->resultMYSQL_ASSOC)) {
                              
              $this->id $row["id"];
                              
              $this->emailaddress $row["emailaddress"];
                              
              $liste .= $this->emailaddress ", ||";

                              }
                              return 
              $liste;
                  
                      }


                      function 
              sendMail ($emaillist$category$mailheader$mailcontent)
                      {
                          
              $this->emaillist $emaillist;
                          
              $this->category $category;
                          
              $this->mailheader $mailheader;
                          
              $this->mailcontent $mailcontent;
                          
              $this->emaillist_in_array explode("||"$this->emaillist);
                          
              $header  'MIME-Version: 1.0' "\r\n";
                          
              $header .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
                          
              $header "bcc: ";
                          foreach (
              $this->emaillist_in_array as $this->bccmail)
                          {
                              
              $header .= $this->bccmail;
                          }
                          
              $header .= "from:" ADMINMAIL "\r\n";
                          
              mail(ADMINMAIL$this->mailheader$this->mailcontent$header);

                          
                      } 

              Kommentar

              Lädt...
              X