PDA

View Full Version : سوال: چرا smtp و PHPMailer نمی تونن توی لوکال ایمیل ارسال کنن؟



idocsidocs
سه شنبه 17 مرداد 1391, 15:54 عصر
من توی لوکال برای ارسال ایمیل از smtp و PHPMailer استفاده می کنم.

مشکلی که هست اینه که ایمیلها ارسال نمی شن و هیچ اروری هم نمایش داده نمی شه ! بنظرتون مشکل کار کجاست؟




require('class.phpmailer.php');
$mail=new PHPMailer();
$mail->CharSet = 'UTF-8';
$mail->IsSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPSecure = 'SSL';
$mail->Port = 465;
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true; $mail->Username = 'test@gmail.com';
$mail->Password = 'test'; $mail->SetFrom('info@barnamenevis.org', 'ali.m');
$mail->AddReplyTo('no-reply@barnamenevis.org','no-reply');
$mail->Subject = '.: برنامه نویس :.';$mail->MsgHTML($body);
$mail->AddAddress('itestitest@gmail.com', 'برنامه نویس');
if($mail->Send())
echo 'با موفقیت ارسال شد.';
else
echo
'ایمیل ارسال نشد.<hr>' , htmlentities($mail->ErrorInfo);

Unique
سه شنبه 17 مرداد 1391, 17:56 عصر
راستش کد را چک نکردم ! اما فرمت AddReplyTo شما غلطه !
no-reply@http://barnamenevis.org

این دیگه چی ایمیله ؟ اگه http میگذارین غلطه ! در ضمن email ی که توی SetFrom میگذارین باید همون username شما در gmail باشه ! http هم نمیخواد !

idocsidocs
سه شنبه 17 مرداد 1391, 18:47 عصر
http توی کد اشتباه تایپی بود و کد اصلی رو بدون http استفاده می کنم.

کد اصلی من اینه:

الان این کد اجرا می شه ولی هیچ نوع خروجی تولید نمی کنه.

لطفا بگید اگر بخوام برای SMTPSecure از none استفاده کنم، چه پورتی رو باید ست کنم؟

اگه none رو با حروف بزرگ بنویسم مشکلی پیش می یاد؟


<?php

error_reporting(E_ALL);

define('ROOT',dirname(__FILE__));
define('DS',DIRECTORY_SEPARATOR);

require_once('class.phpmailer.php');
$mail=new PHPMailer();
$mail->CharSet = 'UTF-8';

$mail->IsSMTP();
$mail->Host = 'smtp.gmail.com';

$mail->SMTPSecure = 'none';
$mail->Port = 465;
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;

$mail->Username = 'test@gmail.com';
$mail->Password = 'test';

$mail->SetFrom('test@gmail.com', 'webask12');
$mail->AddReplyTo('no-reply@barnamenevis.org','no-reply');
$mail->Subject = 'HELLO !';
$mail->MsgHTML('$body');

$mail->AddAddress('test@yahoo.com', 'PHP');


if($mail->Send()){
echo 'IT SENT';
}
else{
echo 'NOT SENT' , htmlentities($mail->ErrorInfo);
}

?>

colors
سه شنبه 17 مرداد 1391, 19:52 عصر
درود

من اینو استفاده میکنم و مشکلی ندارم.

$mail = new PHPMailer(); // create a new object
$mail->CharSet = 'UTF-8';
$mail->IsSMTP(); // enable SMTP

$mail->SMTPDebug = 1;
$mail->SMTPSecure = 'ssl';
$mail->SMTPAuth = true;
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;

$mail->Username = 'test@gmail.com';
$mail->Password = 'test';

$mail->MsgHTML($body);

$mail->SetFrom($from, $from_name);
$mail->Subject = $subject;
$mail->AddAddress($to, '');
$mail->Send();

idocsidocs
سه شنبه 17 مرداد 1391, 20:07 عصر
من اینو استفاده میکنم و مشکلی ندارم.دفعه آخر که از این کد استفاده کردید کی بوده؟ پورتهای گوگل عوض نشدن؟

الان همین کدی که قرار دادید رو روی لوکال هاست استفاده کردم و این ارور نمایش داده شد:

SMTP -> ERROR: Failed to connect to server: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? (24)
SMTP Error: Could not connect to SMTP host.
بنظرتون مشکل از کجاست؟

Unique
چهارشنبه 18 مرداد 1391, 00:56 صبح
توی یک پست دیگه که زده بودین گفتم ! اینجا هم میگم از این استفاده :

$mail->SMTPAuth = true
$mail->SMTPSecure = "tls";
$mail->Host = "smtp.gmail.com";
$mail->Port = 587;

idocsidocs
چهارشنبه 18 مرداد 1391, 02:23 صبح
از این به بعد کدها رو فقط توی سرور امتحان می کنم.

توی سرور این ارور نمایش داده می شه:


SMTP -> ERROR: Password not accepted from server: 535 Incorrect authentication data
SMTP Error: Could not authenticate. NOT SENTSMTP Error: Could not authenticate.

این ارور نمایش داده می شه اما کلمه رمز و کلمه کاربری جیمیل درسته و من بدون مشکل توی جیمیل لاگین می کنم.

smtp امروز کلا وقتم رو گرفت.