PDA

View Full Version : سوال: مشکل در ارسال ایمیل با phpmailer و smtp جی‌میل



xerror
جمعه 01 آبان 1388, 20:36 عصر
سلام دوستان
من یه فرم دارم که می‌خواهم با استفاده از smtp gmail و phpmailer ایمیل بفرستم. اما با خطای زیر مواجه میشم :(

SMTP Error: Could not connect to SMTP host. Error sending: SMTP Error: Could not connect to SMTP host.این هم کدی که من استفاده می‌کنم:

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->Debug = 2;
$mail->From="mailer@example.com";
$mail->FromName="My site's mailer";
$mail->Sender="mailer@example.com";
$mail->AddAddress($email);
$mail->Subject = "test";

$mail->IsHTML(true);
$mail->Body = "test mail";
$mail->AltBody="This is text only alternative body.";

if(!$mail->Send())
{
echo "Error sending: " . $mail->ErrorInfo;;
}
else
{
echo "email is sent";
}

xerror
شنبه 02 آبان 1388, 17:29 عصر
بــــــله!
کسی نمیتونه کمک کنه؟

xerror
شنبه 02 آبان 1388, 20:07 عصر
یعنی من یه فرم دارم :|
بعد میخواهم با کلاس phpmailer ایمیل بفرستم با استفاده از smtp جی میل یعنی smtp.gmail.com

esmit61
دوشنبه 23 فروردین 1389, 23:46 عصر
دوستان کسی جواب سوال ایشون رو میدونه. منم همین مشکل رو دارم؟
کسی میتونه بگه اصلاً چجوری میتونم ایمیل ارسال کنم. سرورش برام مهم نیست مثلاً از یاهو باشه یا جیمیل یا هر چیز دیگه. فقط یه ایمیل بتونم با php ارسال کنم.
هر کدی که سرچ کردم زدم. ولی جواب نمیده. لطفاً کمک کنید. خیلی مهمه برام

afee1990
شنبه 22 مرداد 1390, 14:45 عصر
مشخصه host را به صورت زیر تغییر داده و port را جداگانه وارد نمایید . به صورت زیر :

$mail->Host = "ssl://smtp.gmail.com"; $mail->Port = 465;

amin1softco
شنبه 22 مرداد 1390, 15:29 عصر
منم باهاش مشکل دارم
البته روی لوکال وقتی از فایل php.ini قسمت extension=php_openssl.dll رو فعال کنید و فایر وال ویندوز غیر فعال باشه ایمیل رو ارسال می کنه
اما روی هاست برام کار نمی ده فکر کنم هاستم پورتشو بسته یکی هم می گفت باید fopensock هم غیر فعال نباشه ولی من از طریق هاست به این شکل هنوز نتونستم میل ارسال کنم که به خطا زیر بر می خورم.
SMTP -> ERROR: Failed to connect to server: Connection timed out (110)
در ضمن اگه از PHPMailer_5.2.0 استفاده کنیداحتیاجی به دست کاریه هاست و اینها نیست.............


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

$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch

$mail->IsSMTP(); // telling the class to use SMTP

try {
$mail->Host = "localhost"; // SMTP server
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)
$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 = "username@gmail.com"; // GMAIL username
$mail->Password = "yourpassword"; // GMAIL password
// $mail->AddReplyTo('name@yourdomain.com', 'First Last');
$mail->AddAddress('adressgirande@anything.com', 'John Doe');
$mail->SetFrom('info@yourdomain.com', 'First Last');
//$mail->AddReplyTo('name@yourdomain.com', 'First Last');
$mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
$mail->MsgHTML(file_get_contents('contents.html'));
$mail->AddAttachment('images/phpmailer.gif'); // attachment
$mail->AddAttachment('images/phpmailer_mini.gif'); // attachment
$mail->Send();
echo "Message Sent OK</p>\n";
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
?>

hadizd
شنبه 17 مهر 1395, 18:54 عصر
سلام به همگی
منم همین مشکل رو داشتم و شاید 30 دفعه با کدهای مختلف تست کردم اما هردفعه در کانکت به سرور جیمیل و ارسال جیمیل مشکل داشتم تا اینکه در جیمیل و ایمیلی که زمان ثبت نام جیمیل داده بودم یه ایمیل دریافت کردم از طرف گوگل که گفته بود (شخصی که رمز شما رو داره سعی میکنه به اکانت شما وارد بشه که گوگل به صورت خودکار اونو بلاک کرده) و یه لینک هم داده بود
https://security.google.com/settings/security/activity?rfn=6&rfnc=1&et=1&asae=2&anexp=ire-f2&pli=1
بعد از وارد شد به اون رفتم ورود جدید رو تایید کردم از اون به بعد مشکلی در ارسال جیمیل به وجود نیومد.
امیدوارم مشکل شما هم حل بشه

ebibombas1988
دوشنبه 19 مهر 1395, 16:06 عصر
تو جوابا تنها جواب هادی منطقی بود .
گوگل به خاطر مسایل امنیتی اجازه این کار نمیده و شما باید بری تو جی میل خودت و این اجازه رو بدی