2015-08-01 4 views
1

Я работаю над проектом и в своей регистрационной форме, когда пользователь регистрируется, я хочу отправить им по электронной почте ссылку активации. регистрационная форма работает, но у меня возникают проблемы с сервером E-Mail. Это мой php-код с использованием Phpmailer, который у меня есть, но он не работает, и я не знаю почему!PHPmailer Connect Сервер электронной почты с PHP

require 'include/class.phpmailer.php'; 
    require 'include/PHPMailerAutoload.php'; 

function smtpmailer($to, $from, $from_name, $subject, $body) { 
global $error; 
$mail = new PHPMailer(); // create a new object 
$mail->IsSMTP(); // enable SMTP 
$mail->SMTPDebug = 0; // debugging: 1 = errors and messages, 2 = messages only 
$mail->SMTPAuth = true; // authentication enabled 
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail 
$mail->Host = 'smtp.gmail.com'; 
$mail->Port = 465; 
$mail->Username = jalilmotaz; 
$mail->Password = *****;   
$mail->SetFrom($from, $from_name); 
$mail->Subject = $subject; 
$mail->Body = $body; 
$mail->AddAddress($to); 
if(!$mail->Send()) { 
    $error = 'Mail error: '.$mail->ErrorInfo; 
    return false; 
} else { 
    $error = 'Message sent!'; 
    return true; 
} 

Любые предложения по работе с этим методом gmail или каким-либо другим способом?

+0

'$ mail-> SMTPDebug = 0;' изменить его '$ mail-> SMTPDebug = 1;' и после вывода – Mubin

+0

я никогда не использовал PHPMailer, но увидеть этот пост со вчерашнего дня : http://stackoverflow.com/questions/31731605/php-send-mail-using-defined-smtp-mail-server/31731664?noredirect=1#comment51426121_31731664 – schellingerht

+0

@MubinKhalid salamo alekom, это не дает мне никаких ошибок брат , Я не уверен, что не так:/ –

ответ

1

Несколько ошибок в вашем коде.

1). SSL устарел. Используйте tls.

2). Поместите свой полный почтовый ящик и пароль Gmail и в двойном кавычках ".

<?php 
    require 'include/class.phpmailer.php'; 
     require 'include/PHPMailerAutoload.php'; 

    function smtpmailer($to, $from, $from_name, $subject, $body) { 
    global $error; 
    $mail = new PHPMailer(); // create a new object 
    $mail->IsSMTP(); // enable SMTP 
    $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only 
    $mail->SMTPAuth = true; // authentication enabled 
    $mail->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for GMail 
    $mail->Host = 'smtp.gmail.com'; 
    $mail->Port = 587; 
    $mail->Username = "[email protected]"; 
    $mail->Password = "passwordhere";   
    $mail->SetFrom($from, $from_name); 
    $mail->Subject = $subject; 
    $mail->Body = $body; 
    $mail->AddAddress($to); 
    if(!$mail->Send()) { 
     $error = 'Mail error: '.$mail->ErrorInfo; 
     return false; 
    } else { 
     $error = 'Message sent!'; 
     return true; 
    } 
    ?> 
+0

Извините за небольшой поздний ответ, я изменил то, что вы сказали мне сделать , но он не работает, и я тоже не получаю никаких ошибок, или «Сообщение отправлено!». –

+0

Если SMTP debug не возвращает никаких ошибок, то он работает абсолютно нормально. – Akshay

Смежные вопросы