PDA

View Full Version : حرفه ای: ارسال ایمیل



reza10wert
چهارشنبه 18 مرداد 1391, 23:38 عصر
با سلام دوستان
چرا این کد عمل نمی کند ؟

$name=$_POST['name'];
$phone=$_POST['phone'];
$email=$_POST['email'];
$message=nl2br($_POST['message']);
$to = 'example2@gmail.com';
$to .= 'example@yahoo.com';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'From: $name $email' . "\r\n";

mail($email, 'پیغام شما دریافت شد', 'با سلام . پیغام شما دریافت شد . به زودی با شما تماس خواهیم گرفت');
mail($to , 'پیغام برای شما', $message , $headers);
یعنی من دو بار از تابع mail استفاده کرده ام ولی فقط تابع mail اولی عمل می کند و دومی عمل نمی کند . دلیلش چی هست

tehro0n
چهارشنبه 18 مرداد 1391, 23:57 عصر
شما دوبار نباید mail را ارسال کنید، همان رو به صورت cc و bcc یا یک میل دیگه با کاراکتر , بگذارید و ارسال کنید، اینجوری SPAM هم میشه
و یک مساله دیگه بین فاصله ارسال اول میل با دومی باید زمانی طول بکشه (تقریبا 5 ثانیه یا بیشتر خوبه) که قبلی به پورت وصل شه و ارسال کنه بعد بره واسه دومی!

reza10wert
پنج شنبه 19 مرداد 1391, 10:03 صبح
دوست عزیز
در مورد cc و bcc توضیح می فرمایید ؟
بعد من میخوام دو تا ایمیل مجزا با متنی متفاوت و هر کدام به گروه ایمیلی خاص فرستاده بشه . باید چه کنم ؟
چطور میتونم بین ارسال ایمیل ها وقفه ایجاد کنم ؟

متشکرم

MMSHFE
پنج شنبه 19 مرداد 1391, 16:15 عصر
این راه رو امتحان کنید:
بین دو ارسال ایمیل این کد رو بنویسید:

sleep(1);
یا عدد بیشتر مثل 5 که دوستمون اشاره کردن (بین دو فراخوانی تابع mail کمی فرصت به MailServer بدین تا خودشو دوباره تنظیم کنه، پاسخ Delivery ایمیل اول رو بگیره و...)
CC یا همون Carbon Copy یعنی اینکه یک نسخه از ایمیل رو برای یکنفر دیگه هم بفرستین. BCC هم یعنی Blind Carbon Copy که تنها فرقش با CC اینه که BCCها از ارسال ایمیل برای بقیه باخبر نمیشن. بقیه هم نمیفهمن یک نسخه از ایمیل برای BCCها هم رفته. هر دو مورد CC و BCC هم باید توسط بخش Headers در تابع mail تنظیم بشن. به راهنمای PHP (http://ir.php.net/manual/en/function.mail.php) مراجعه کنید.