ugrás a tartalomhoz

PHPMailer és foreach

aky22 · 2011. Júl. 11. (H), 21.32
Hali! Az a gondom, hogy a phpmailer csak 13 levelet küld el. Foreach-el vannak az email címek kiszedve a tömbből változóba. itt a kód:
  1. <script type="text/javascript">  
  2.     function doit()    
  3.     {    
  4.         var txtSelectedValuesObj = document.getElementById('s'); // Az input mező id-ja ahova szeretnéd gyűjteni a címeket    
  5.         var selectedArray = new Array();    
  6.         var selObj = document.getElementById('x'); // A select lista id-ja    
  7.         var i;    
  8.         var count = 0;    
  9.         // Végig megy a lista elemein és amik ki vannak választva bele rakja őket egy tömbbe    
  10.         for (i = 0; i < selObj.options.length; i++) {    
  11.             if (selObj.options[i].selected) {    
  12.                 selectedArray[count] = selObj.options[i].value;    
  13.                 count++;    
  14.             }    
  15.         }    
  16.         txtSelectedValuesObj.value = selectedArray; //Átadja a tömböt az input mezőnek    
  17.           return false;    
  18.     }    
  19. </script>  
  20. </head>  
  21.   
  22. <body>  
  23. <div id="page">  
  24.     <div id="header">  
  25.         <?php require_once("include/header.php"); ?>  
  26.     </div>  
  27.     <div id="menu">  
  28.         <?php  
  29.             require_once("include/adminmenu.php");  
  30.         ?>  
  31.     </div>  
  32.     <div id="contenta">  
  33.     <?php  
  34.         require_once("../include/dbconn.php");  
  35.         $sql="SELECT * FROM `users` WHERE `users`.`pass` IS NOT NULL OR `users`.`pass` !=''";  
  36.         $e=mysql_query($sql);  
  37.         echo '<form method="post" action="newsletter.php">  
  38.         <select multiple="multiple" id="x" size="60">';  
  39.         while ($p=mysql_fetch_assoc($e))  
  40.         {  
  41.             echo '<option value="'.$p['email'].'">'.$p['email'].'</option>';  
  42.         }  
  43.         echo '</select>  
  44.                 <button onclick="doit();return false;"> >> </button>  
  45.             Email: <textarea name="email" id="s" class="adminmail"></textarea><br />  
  46.             <p>Tárgy:<br /></p><input type="text" name="subject" class="adminmail"><br />  
  47.             <p>Üzenet:</p>  
  48.             <textarea name="message" id="editor"></textarea>  
  49.             <script type="text/javascript" src="js/elrte-1.3/elrte.js"></script>  
  50.             <input type="submit" name="send" value="Küldés">  
  51.             </form>';  
  52.         if (isset($_POST['send']))  
  53.         {  
  54.             if(isset($_POST['email']) && !emptyempty($_POST['email']))  
  55.             {  
  56.                 if (isset($_POST['subject']) && !emptyempty($_POST['subject']))  
  57.                 {  
  58.                     $subject=addslashes(stripslashes($_POST['subject']));  
  59.                     $message=$_POST['message'];  
  60.                     $email=addslashes(stripslashes($_POST['email']));  
  61.                     $email_array=explode(",",$email);  
  62.                     foreach ($email_array as $email)   
  63.                     {  
  64.                         print  "$email <br>\n";  
  65.                         //-------------PHPMAILER------------------//  
  66.                         //error_reporting(E_ALL);  
  67.                             error_reporting(E_STRICT);  
  68.   
  69.                             date_default_timezone_set('America/Toronto');  
  70.   
  71.                             require_once('../mail/PHPMailer_v5.1/class.phpmailer.php');  
  72.                             //include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded  
  73.   
  74.                             $mail             = new PHPMailer();  
  75.   
  76.                             $body             = file_get_contents('../mail/PHPMailer_v5.1/examples/contents.html');  
  77.                             $body             = eregi_replace("[\]",'',$body);  
  78.   
  79.                             $mail->IsSMTP(); // telling the class to use SMTP  
  80.                             $mail->Host       = "localhost"// SMTP server  
  81.                             $mail->SMTPDebug  = 0;                     // enables SMTP debug information (for testing)  
  82.                                                                        // 1 = errors and messages  
  83.                                                                        // 2 = messages only  
  84.                             $mail->SMTPAuth   = true;                  // enable SMTP authentication  
  85.                             $mail->SMTPSecure = "ssl";                 // sets the prefix to the servier  
  86.                             $mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server  
  87.                             $mail->Port       = 465;                   // set the SMTP port for the GMAIL server  
  88.                             $mail->Username   = "erosakos02##kukac##gmail.com";  // GMAIL username  
  89.                             $mail->Password   = "xxxxxx";            // GMAIL password  
  90.   
  91.                             $mail->SetFrom('erosakos02##kukac##gmail.com''Erős Ákos');  
  92.   
  93.                             $mail->AddReplyTo("erosakos02##kukac##gmail.com","Erős Ákos");  
  94.   
  95.                             $mail->Subject    = $subject;  
  96.   
  97.                             //$mail->AltBody    = "Tesztszöveg!"; // optional, comment out and test  
  98.   
  99.                             $mail->MsgHTML($message);  
  100.   
  101.                             //$address = $email;  
  102.                             $mail->AddAddress($email);  
  103.   
  104.                             //$mail->AddAttachment("../mail/images/phpmailer.gif");      // attachment  
  105.                             //$mail->AddAttachment("../mail/images/phpmailer_mini.gif"); // attachment  
  106.   
  107.                             if(!$mail->Send()) {  
  108.                               echo "Mailer Error: " . $mail->ErrorInfo;  
  109.                             } else {  
  110.                                 require_once("../include/dbconn.php");  
  111.                                 $date = date("Y");  
  112.                                 $sql="INSERT INTO `archive` (`subject`,`message`,`date`) VALUES ('$subject','$message','$date')";  
  113.                                 if ($p=mysql_query($sql))  
  114.                                 {  
  115.                                     echo '<p>Levél sikeresen elküldve</p>';  
  116.                                 }  
  117.                                 else  
  118.                                 {  
  119.                                     echo $sql;  
  120.                                 }  
  121.                             }  
  122.                             //-------------/PHPMAILER------------------//  
  123.                     }  
  124.                       
  125.                 }  
  126.                 else  
  127.                 {  
  128.                     echo '<p>Nem adott meg tárgyat</p>';  
  129.                 }  
  130.             }  
  131.             else  
  132.             {  
  133.                 echo '<p>Nem adott meg e-mail címet!</p>';  
  134.             }  
  135.         }  
  136.     ?>  
 
1

addslashes / stripslashes

Poetro · 2011. Júl. 11. (H), 22.25
Elárulod, miért van szükség az addslashes / stripslashes párosra? Csak mert nem látom értelmét, ráadásul elronthatja a felhasználótól jött tartalmat.
Egyébként mennyi levelet kellett volna kiküldenie? A szolgáltató milyen korlátozásokkal él a kiküldhető emailek mennyiségére nézve?

A jelszavadat, ha nem zavar kitöröltem a témafelvető kódból. Remélem sikerült elolvasni legalább egyszer, a beküldött kódot, és nem teszel közzé olyan személyes adatot, amit nem szeretnél. Egyébként javaslom változtasd meg a jelszavadat.
2

A jelszavat köszi. A gmail

aky22 · 2011. Júl. 12. (K), 07.06
A jelszavat köszi. A gmail azt hiszem 50db email-t enged kiküldeni és ezt akartam tesztelni, de akárhányszor elindítottam mindig csak 13db-ot küldött el.
3

Hírlevél

janoszen · 2011. Júl. 12. (K), 07.46
Én nem használnék hírlevelezésre/stb Gmailt, köztudottan hisztis rá. Egy kicsit nagyobb hírlevél után volt, aki még az accountjától is búcsúzhatott.
4

Nem azt fogom használni csak

aky22 · 2011. Júl. 12. (K), 07.48
Nem azt fogom használni csak tesztelés céljából van az beállítva. Amúgy nálatok lesz a tárhely és valahogy úgy fogom megcsinálni hogy a ti smtp-tek meg a saját az talán elég lesz.
5

Segítsen lécci valaki! Még

aky22 · 2011. Júl. 21. (Cs), 20.14
Segítsen lécci valaki! Még mindíg nem tudom mi a hiba oka. Csak egy választ szeretnék, hogy ez csak guglinál van így vagy mindenhol. Mert ha mindenhol akkor rá kéne jönnöm, hogy hol a hiba. Köszi előre is :)
6

Saját gépen

Poetro · 2011. Júl. 21. (Cs), 20.43
Mi lenne, ha kipróbálnád a saját gépeden, a saját szolgáltatód SMTP szerverét használva? Meg azt is érdemes lenne megnézni, hogy mindig ugyanannál az elemnél történik a hiba, és hogy pontosan mi is a hiba. Megáll a kód futása? Pl. írasd ki minden esetben, hogy hova küldöd épp a levelet. Valamint kapcsold be a hibák kijelzését, hogy minden egyes hibát láss.
7

Kipróbáltam most úgy is és

aky22 · 2011. Júl. 22. (P), 09.10
Kipróbáltam most úgy is és már hibát nem dob viszont egy email-t sem küld el, és az oldal alját levágja miután a küldés gombra kattintok.