PDA

View Full Version : phpmailer



olampiad
سه شنبه 14 بهمن 1393, 11:52 صبح
به این کد من ی نگا میندازید.
تو اینجا کد من ب خوبی کار میکنه ولی ی مشکل جزئی داره.
به آرایه $user من ی نگا بندازید.
تو اینجا متن رو به اولین ایمیل من چهاربار میفرسته به ایمیل دومم سه بار میفرسته و به ایمیل سومم دوبار میفرسته و به ایمیل چهارمم ی بار میفرسته.

منظورم اینه که به hamidrezawd@gmail.com چهار بار میفرسته
به hdehnadd@gmail.com سه بار میفرسته
و ...
امید وارم منظورمو متوجه شده باشین.
حالا من چطور میتونم این مشکل رو حل کنم و فقط به هر ایمیل تنها یک بار بفرستد.
ممنون مرسی




$user=array('hamidrezawd@gmail.com','hdehnadd@gmai l.com','hamidrezaahmadi@mihanmail.ir','hamiddg@mih anmail.ir');
require_once('phpmailer/class.phpmailer.php');
$mail=new PHPMailer();
$subject=$_POST['subject'];
$fromname=$_POST['fromname'];
$text=$_POST['text'];


foreach($user as $email){
$mail->isSMTP();

$mail->Host='sjji.ir';

$mail->SMTPAuth=true;

$mail->Username='info@sjji.ir';

$mail->Password='elinux5112';

$mail->SMTPSecure='ssl';

$mail->Port='465';

$mail->Subject=$subject;

$mail->From='info@sjji.ir';

$mail->CharSet='utf-8';

$mail->FromName=$fromname;

$mail->ContentType='text/html;charset=utf-8';

$messagehtml=$text;

$messagetext=$text;

$mail->isHTML(true);

$mail->addAddress($email);

$mail->Body=$messagehtml;

$mail->AltBody=$messagetext;

$mail->send();

if($mail->isError()){
echo 'no';
}else{
echo 'yes';
}


}

abolfazl-z
سه شنبه 14 بهمن 1393, 23:09 عصر
خوب بخاطر این هست که شما دارین در هر بار اجرای حلقه یک ایمیل به phpmailer می دهید و هر بار send می کنید

یعنی :

اجرای اول حلقه foreach :


$mail->addAddress($email);

که یک آدرس به لیست اضافه میشه

یعنی

hamidrezawd@gmail.com

سپس ارسال می کنید

اجرای دوم حلقه foreach :


$mail->addAddress($email);

یکی دیگر اضافه می کنید که میشه :

hamidrezawd@gmail.com
hdehnadd@gmail.com

و دوباره ارسال می کنید و الی آخر

کدتون رو اینطوری بنویسید :


$user=array('hamidrezawd@gmail.com','hdehnadd@gmai l.com','hamidrezaahmadi@mihanmail.ir','hamiddg@mih anmail.ir');
require_once('phpmailer/class.phpmailer.php');
$mail=new PHPMailer();
$subject=$_POST['subject'];
$fromname=$_POST['fromname'];
$text=$_POST['text'];


$mail->isSMTP();

$mail->Host='sjji.ir';

$mail->SMTPAuth=true;

$mail->Username='info@sjji.ir';

$mail->Password='elinux5112';

$mail->SMTPSecure='ssl';

$mail->Port='465';

$mail->Subject=$subject;

$mail->From='info@sjji.ir';

$mail->CharSet='utf-8';

$mail->FromName=$fromname;

$mail->ContentType='text/html;charset=utf-8';

$messagehtml=$text;

$messagetext=$text;

$mail->isHTML(true);

foreach($user as $email)
$mail->addAddress($email);

$mail->Body=$messagehtml;

$mail->AltBody=$messagetext;

$mail->send();

if($mail->isError()){
echo 'no';
}else{
echo 'yes';
}