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:
<script type="text/javascript">
    function doit()  
    {  
        var txtSelectedValuesObj = document.getElementById('s'); // Az input mező id-ja ahova szeretnéd gyűjteni a címeket  
        var selectedArray = new Array();  
        var selObj = document.getElementById('x'); // A select lista id-ja  
        var i;  
        var count = 0;  
        // Végig megy a lista elemein és amik ki vannak választva bele rakja őket egy tömbbe  
        for (i = 0; i < selObj.options.length; i++) {  
            if (selObj.options[i].selected) {  
                selectedArray[count] = selObj.options[i].value;  
                count++;  
            }  
        }  
        txtSelectedValuesObj.value = selectedArray; //Átadja a tömböt az input mezőnek  
          return false;  
    }  
</script>
</head>

<body>
<div id="page">
	<div id="header">
		<?php require_once("include/header.php"); ?>
	</div>
	<div id="menu">
		<?php
			require_once("include/adminmenu.php");
		?>
	</div>
	<div id="contenta">
	<?php
		require_once("../include/dbconn.php");
		$sql="SELECT * FROM `users` WHERE `users`.`pass` IS NOT NULL OR `users`.`pass` !=''";
		$e=mysql_query($sql);
		echo '<form method="post" action="newsletter.php">
		<select multiple="multiple" id="x" size="60">';
		while ($p=mysql_fetch_assoc($e))
		{
			echo '<option value="'.$p['email'].'">'.$p['email'].'</option>';
		}
		echo '</select>
		        <button onclick="doit();return false;"> >> </button>
			Email: <textarea name="email" id="s" class="adminmail"></textarea><br />
			<p>Tárgy:<br /></p><input type="text" name="subject" class="adminmail"><br />
			<p>Üzenet:</p>
			<textarea name="message" id="editor"></textarea>
			<script type="text/javascript" src="js/elrte-1.3/elrte.js"></script>
			<input type="submit" name="send" value="Küldés">
			</form>';
		if (isset($_POST['send']))
		{
			if(isset($_POST['email']) && !empty($_POST['email']))
			{
				if (isset($_POST['subject']) && !empty($_POST['subject']))
				{
					$subject=addslashes(stripslashes($_POST['subject']));
					$message=$_POST['message'];
					$email=addslashes(stripslashes($_POST['email']));
					$email_array=explode(",",$email);
					foreach ($email_array as $email) 
					{
						print  "$email <br>\n";
						//-------------PHPMAILER------------------//
						//error_reporting(E_ALL);
							error_reporting(E_STRICT);

							date_default_timezone_set('America/Toronto');

							require_once('../mail/PHPMailer_v5.1/class.phpmailer.php');
							//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded

							$mail             = new PHPMailer();

							$body             = file_get_contents('../mail/PHPMailer_v5.1/examples/contents.html');
							$body             = eregi_replace("[\]",'',$body);

							$mail->IsSMTP(); // telling the class to use SMTP
							$mail->Host       = "localhost"; // SMTP server
							$mail->SMTPDebug  = 0;                     // enables SMTP debug information (for testing)
																	   // 1 = errors and messages
																	   // 2 = messages only
							$mail->SMTPAuth   = true;                  // enable SMTP authentication
							$mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
							$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
							$mail->Port       = 465;                   // set the SMTP port for the GMAIL server
							$mail->Username   = "erosakos02##kukac##gmail.com";  // GMAIL username
							$mail->Password   = "xxxxxx";            // GMAIL password

							$mail->SetFrom('erosakos02##kukac##gmail.com', 'Erős Ákos');

							$mail->AddReplyTo("erosakos02##kukac##gmail.com","Erős Ákos");

							$mail->Subject    = $subject;

							//$mail->AltBody    = "Tesztszöveg!"; // optional, comment out and test

							$mail->MsgHTML($message);

							//$address = $email;
							$mail->AddAddress($email);

							//$mail->AddAttachment("../mail/images/phpmailer.gif");      // attachment
							//$mail->AddAttachment("../mail/images/phpmailer_mini.gif"); // attachment

							if(!$mail->Send()) {
							  echo "Mailer Error: " . $mail->ErrorInfo;
							} else {
								require_once("../include/dbconn.php");
								$date = date("Y");
								$sql="INSERT INTO `archive` (`subject`,`message`,`date`) VALUES ('$subject','$message','$date')";
								if ($p=mysql_query($sql))
								{
									echo '<p>Levél sikeresen elküldve</p>';
								}
								else
								{
									echo $sql;
								}
							}
							//-------------/PHPMAILER------------------//
					}
					
				}
				else
				{
					echo '<p>Nem adott meg tárgyat</p>';
				}
			}
			else
			{
				echo '<p>Nem adott meg e-mail címet!</p>';
			}
		}
	?>
 
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.