Mailversand beschleunigen

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

  • Mailversand beschleunigen

    Hi.
    ich habe ein Newsletter System gebaut.
    Ein Kunde hat nun 50.000 Abonnenten und meint das der versand doch sehr lange dauert...2 Tage oder so.

    Ich habe es über eine refresh-system laufen, wie man es halt machen muss um timeouts zu umgehen.

    kann man den Versand an sich jedoch noch irgendwie beschleunigen oder ist der mailserver hier die Grenze?

    Mit freundlichen Grüßen, Florian

    P.S.: Methoden wie CC finde ich jedoch nicht gut, weil unsicher und deswegen nicht professionel

  • #2
    ist bcc auch unprofessionell?

    Kommentar


    • #3
      du machst sicher 1ne mail pro sekunde oder?
      lass doch 10-50 pro sekunde laufen, dann gehts schneller...oder bcc halt
      Sunshine CMS
      BannerAdManagement
      Borlabs - because we make IT easier
      Formulargenerator [color=red]Neu![/color]
      Herkunftsstatistik [color=red]Neu![/color]

      Kommentar


      • #4


        Ich würde BCC empfehlen, aber leider gibt es dort den Nachteil, dass manche (einige wenige ausnahmen) die e-mail nciht bekommen. aber das war nach meiner statistik von meinen empfängern nur rund 1,5%, also so gut wie garnichts.

        Denk darüber mal nach
        Mit freundlichem Gruß,
        Deathrow

        Kommentar


        • #5
          Hi,
          wie kann ich denn 10-50 pro sek laufen lassen?

          BCC iss denk ich nicht gut da die leute irgendwie dann immer noch die Adressen sehen können oder?

          Grüße, Flo

          Kommentar


          • #6
            woher dieses mißtrauen?
            http://rfc.net/rfc2822.html#s3.6.3.

            Kommentar


            • #7
              Nein, BCC heiß, dass du eine E-Mail an einen Empfänger versendest, und versteckt diese noch einmal an andere Empfänger voll automatisch weiterleitest, bzw. der Mail-Server...

              Benutz zu BCC mal wirst bestimtm fündig... Oder such mal hier im Board

              PS: Mehr E-Mail versenden kannst du garantiert durch anpassen deines codes, bzw. z.bsp. mit einer schleife von 20 die datei 20 mal aufrufe, oder so ähnlich
              Mit freundlichem Gruß,
              Deathrow

              Kommentar


              • #8
                @Deathrow
                mach mal deinen banner aus der signatur deutlich kleiner, so auf 80x31 oder am besten ganz raus!
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  fsock ist cool für massenmails. versuch mal die funktion hier. lohnt sich schon ab ein paar hundert mails:

                  PHP-Code:
                  function socketmail($toArray$subject$message$sender$attachname "") {
                    
                  // $toArray format --> array("Name1" => "address1", "Name2" => "address2", ...)
                    
                  $sm_host 'localhost';
                    
                  $sm_port '25';
                    
                  $sitename 'deine seite';
                    
                    
                  ini_set("sendmail_from"$sender);

                    
                  $connect fsockopen ($sm_host$sm_port$errno$errstr30) or die("Could not talk to the sendmail server!"); 
                    
                  $rcv fgets($connect1024); 

                    
                  fputs($connect"HELO {$_SERVER['SERVER_NAME']}\r\n");
                    
                  $rcv fgets($connect1024); 
                      
                    foreach(
                  $toArray as $toKey => $toValue){

                      
                  fputs($connect"MAIL FROM:$sender\r\n"); 
                        
                  $rcv fgets($connect1024); 
                      
                  fputs($connect"RCPT TO:$toValue\r\n"); 
                        
                  $rcv fgets($connect1024); 
                      
                  fputs($connect"DATA\r\n"); 
                        
                  $rcv fgets($connect1024); 
                      
                      if(
                  is_array($subject))
                          
                  fputs($connect"Subject: $subject[$toKey]\r\n"); 
                      else
                          
                  fputs($connect"Subject: $subject\r\n"); 
                          
                      
                  fputs($connect"From: $sitename <$sender>\r\n"); 

                      
                  fputs($connect"To: $toValue\r\n"); 
                      
                  fputs($connect"X-Sender: <$sender>\r\n"); 
                      
                  fputs($connect"Return-Path: <$sender>\r\n"); 
                      
                  fputs($connect"Errors-To: <$sender>\r\n"); 
                      
                  fputs($connect"X-Mailer: PHP\r\n"); 
                      
                  fputs($connect"X-Priority: 3\r\n"); 
                      
                  fputs($connect"Content-Type: text/plain; charset=iso-8859-1\r\n"); 
                      
                  fputs($connect"Date: ".date("r")."\r\n");
                      
                  fputs($connect"Message-Id: ".rand()."");
                      
                  fputs($connect"\r\n"); 
                      
                      if(
                  is_array($message))
                          
                  fputs($connect$message[$toKey]." \r\n"); 
                      else
                          
                  fputs($connect$message." \r\n"); 

                      if(
                  strlen($attachname)!=0)
                          
                  fputs($connect$attachname." \r\n");
                          
                      
                  fputs($connect".\r\n"); 
                        
                  $rcv fgets($connect1024); 
                      
                  fputs($connect"RSET\r\n"); 
                        
                  $rcv fgets($connect1024); 
                    }

                    
                  fputs ($connect"QUIT\r\n"); 
                    
                  $rcv fgets ($connect1024); 
                    
                  fclose($connect);
                    
                  ini_restore("sendmail_from");

                  Zuletzt geändert von beebob; 24.01.2005, 17:57.

                  Kommentar


                  • #10
                    Original geschrieben von Abraxax
                    @Deathrow
                    mach mal deinen banner aus der signatur deutlich kleiner, so auf 80x31 oder am besten ganz raus!
                    So okay?
                    Mit freundlichem Gruß,
                    Deathrow

                    Kommentar


                    • #11
                      Hi,
                      das mit dem Bcc hat zudem en grund das ich personalisierte mails versenen will, da muss ich für jeden user eine individuelle mail generieren, dass geht ja per Bcc nicht.

                      @Deathrow
                      uhm, mehr mails versenden durch 20 mal schleife laufen lassen?
                      das ding lläuft in ner while schleife die die daten aus sql ausliest und da halt mit LIMIT+seitenrefresh arbeitet um ein timeout zu verhindern, was könnte/sollte ich da ändern damit es schneller geht?

                      Gruß, Flo

                      Kommentar


                      • #12
                        @
                        beebob

                        ich benutz ne mail class die macht das mit dem SMTP

                        Gruß, Flo

                        Kommentar


                        • #13
                          siehe socketmail() da geht genau das mit den personalisierten mails. ($message/$subject als arrays in korrespondenz zum $toArray)
                          Zuletzt geändert von beebob; 24.01.2005, 18:02.

                          Kommentar


                          • #14
                            Naja, dann lass doch halt die doppelte, dreifache oder kA Menge dadurch laufen... z.Bsp. so (zwar nciht so schön, aber es würde funktionieren):
                            PHP-Code:
                            <?php
                            $i
                            =0;
                            while(
                            $i<3) {

                            // Hier der normale Seiteninhalt

                            $i++; }
                            ?>
                            Mit freundlichem Gruß,
                            Deathrow

                            Kommentar


                            • #15
                              Original geschrieben von Deathrow
                              So okay?
                              nein! das ist immer noch zu große. ich habe nicht ohne grund 80x31 bzw ganz raus geschrieben!
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X