2015-12-03 30 views
0

Здравствуйте, ребята, я уже некоторое время сталкивался с этой проблемой. Я пытаюсь отправить почту с xampp. Я рассмотрел несколько решений, размещенных здесь, но ни один из них, похоже, не работает. нужно, чтобы кто-то указал мне в правильном направлении.PHP mailer smtp setup с gmail

так в моем php.ini

[mail function] 
SMTP=smtp.gmail.com 
smtp_port=587 
sendmail_from = [email protected] 
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 

У меня также есть sendmail_path = "\" C: \ XAMPP \ Sendmail \ sendmail.exe \ "-t" комментировал с ;

сейчас в моей sendmail.ini

[sendmail] 

smtp_server=smtp.gmail.com 
smtp_port=587 
error_logfile=error.log 
debug_logfile=debug.log 
[email protected] 
auth_password=123456 
force_sender=shadidhaque2014[email protected] 

Ps: У меня есть только код выше в sendmail.ini теперь для сценария PHP У меня есть что-то очень простое:

$send=mail('[email protected]', 'subject', 'blah blah blah'); 
        if ($send) { 
         # code.. 
         echo "yes"; 
        }else 
        { 
         echo "no"; 
        } 

теперь каждый раз, когда я пытаюсь запустить программу, я получаю нет. Таким образом, никакое электронное письмо не отправляется. Где я могу ошибиться. Спасибо заранее.

+0

Проверьте файлы журналов почты, которые вы определили. Для этого они нужны! – rjdown

+0

Вы ошибаетесь, вызывая 'mail()' самостоятельно; это плохой путь. Вы отметили этот вопрос как PHPMailer, но не используете его. [Get it here] (https://github.com/PHPMailer/PHPMailer), следуйте [этому примеру] (https://github.com/PHPMailer/PHPMailer/blob/master/examples/gmail.phps) и [ прочитайте документы] (https://github.com/PHPMailer/PHPMailer/wiki). – Synchro

ответ

0

Измените код следующим образом:

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 = GUSER; 
    $mail->Password = GPWD;   
    $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; 
    } 
} 

http://www.web-development-blog.com/archives/send-e-mail-messages-via-smtp-with-phpmailer-and-gmail/

+0

Пожалуйста, не связывайтесь с устаревшей документацией. – Synchro

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