PDA

View Full Version : ارسال ایمیل به کاربران سایت از طریق smtp جیمیل



mrm109
جمعه 09 مهر 1389, 01:42 صبح
سلام
من قصد دارم کدی بنویسم که در زمانهای مشخصی اطلاعات خاصی به ایمیل اعضای وب سایتم ارسال بشه.
از smtp جیمیل چطور میتونم استفاده کنم برای ارسال ایمیل ها؟
تنظیمات smtp جیمیل رو بلدم ولی ایمیلی ارسال نمیشه
امکان دسترسی php.ini هم وجود نداره ؛ سرورم چنین اجازه ای رو نمیده
دوستان زیادی در زمینه ارسال ایمیل با جیمیل مشکل داشتند و هیچکدوم پاسخ درستی دریافت نکرده بودند

به نظرتون باید چکار کنم؟
ممنون میشم اگر راهنمایی کنید

امیـرحسین
جمعه 09 مهر 1389, 02:44 صبح
نمونه کد بذارید: نحوه اتصال به سرور، اطمینان از اتصال، نحوه ایجاد متن ایمیل و هدرها.
اگر توی تنظیم هدر مشکلی باشه، ایمیل ارسال نمیشه.

mrm109
جمعه 09 مهر 1389, 10:12 صبح
این کدی هست که من استفاده میکنم؛مشکلش چیه؟

<?
header('content-type: text/html; charset: utf-8');

require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "ssl://smtp.gmail.com:465";
$mail->SMTPAuth = true;
$mail->Username = "user@gmail.com";
$mail->Password = "password";
$mail->From = "user@gmail.com";
$mail->FromName = "me";
$mail->AddAddress("you@you.com","you");
$mail->AddReplyTo("user@gmail.com","me");
$mail->WordWrap = 50;
$mail->AddAttachment("Path to Attachment ");
$mail->IsHTML(true);
$mail->CharSet="utf-8";
$mail->Subject = "mail";
$mail->Body = "body";
$mail->AltBody = "This is the text-only body";
if(!$mail->Send())
{
echo "0";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
} else {
echo "1";
}
?>

امیـرحسین
جمعه 09 مهر 1389, 11:43 صبح
این مدلی امتحان کنید ببینید چه نتیجه ای میگیرید:
<?
header('content-type: text/html; charset: utf-8');

ini_set('display_errors', 1); ///////////////
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1; ///////////////
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl'; ///////////////
$mail->Host = 'smtp.gmail.com'; ///////////////
$mail->Port = 465; ///////////////
$mail->Username = "user@gmail.com";
$mail->Password = "password";
$mail->From = "user@gmail.com";
$mail->FromName = "me";
$mail->AddAddress("you@you.com","you");
$mail->AddReplyTo("user@gmail.com","me");
$mail->WordWrap = 50;
$mail->AddAttachment("Path to Attachment ");
$mail->IsHTML(true);
$mail->CharSet="utf-8";
$mail->Subject = "mail";
$mail->Body = "body";
$mail->AltBody = "This is the text-only body";
if(!$mail->Send()) {
echo "0";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
} else {
echo "1";
}
?>

micro_bhk
جمعه 09 مهر 1389, 12:07 عصر
با عرض سلام و خسته نباشید
میخواستم بدونم که آیا کاری میشه کرد که جای ایمیل فرستنده یه چیز دیگه قرار داده بشه.

مثلا اگه a@gmail.com هست جاش بزاریم service@mysite.com????????

mrm109
جمعه 09 مهر 1389, 12:07 عصر
نشد بازم
این خطارو میده

SMTP -> ERROR: EHLO not accepted from server: SMTP -> ERROR: HELO not accepted from server: SMTP -> ERROR: AUTH not accepted from server: SMTP -> NOTICE: EOF caught while checking if connected0

امیـرحسین
جمعه 09 مهر 1389, 17:08 عصر
با عرض سلام و خسته نباشید
میخواستم بدونم که آیا کاری میشه کرد که جای ایمیل فرستنده یه چیز دیگه قرار داده بشه.

مثلا اگه a@gmail.com هست جاش بزاریم service@mysite.com????????
شما بذارید admin@microsoft.com
فکر می‌کنید این ایمیلها اسپم چطوری آدرسشون رو نمایش می‌دهند؟


نشد بازم
این خطارو میده

SMTP -> ERROR: EHLO not accepted from server: SMTP -> ERROR: HELO not accepted from server: SMTP -> ERROR: AUTH not accepted from server: SMTP -> NOTICE: EOF caught while checking if connected0
نسخه PHPMailerاتون رو آپدیت کنید و اگر باز هم نشد میتونه از محدودیتها یا اشکالات در سرور باشه. در نهایت با هاست تماس بگیرید تا سرور SMTP رو چک کنند که درست کار می کنه یا خیر.

mrm109
شنبه 10 مهر 1389, 14:03 عصر
شما بذارید admin@microsoft.com
فکر می‌کنید این ایمیلها اسپم چطوری آدرسشون رو نمایش می‌دهند؟


نسخه PHPMailerاتون رو آپدیت کنید و اگر باز هم نشد میتونه از محدودیتها یا اشکالات در سرور باشه. در نهایت با هاست تماس بگیرید تا سرور SMTP رو چک کنند که درست کار می کنه یا خیر.

ممنون از راهنماییتون. phpmailer رو آپدیت کردم و مشکل حل شد.
اما چرا ایمیل ها اسپم میشند؟ راهی نیست که به اینباکس برند؟

امیـرحسین
شنبه 10 مهر 1389, 19:27 عصر
اسپم شدن به عوامل زیادی بستگی داره ولی در سرورهای Share، یه چیز کاملا طبیعیه چون شاید مثلا 40 سایت باشند که از یک IP استفاده می کنند و اگر یکی از این سایتها کارهای زشت مثل اسپم و غیره بکنه، اون IP میره تو لیست سیاه به همراه همه سایتهایی که ازش استفاده می‌کنند.