Послать email на PHP используя SMTP-сервер Gmail (гуглопочты)

PHP, Вопросы и ответы
29 февраля 2012

Вопрос

Я пытаюсь отправить email из PHP-страницы через SMTP-сервер почты Gmail, но получаю следующую ошибку:

authentication failure [SMTP: SMTP server does no support authentication (code: 250, response: mx.google.com at your service, [98.117.99.235] SIZE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]

В чём дело?


Ответ №1

Вот рабочий код. Он использует Pear Mail package.

<?php

       require_once "Mail.php";

        $from = "<from.gmail.com>";
        $to = "<to.yahoo.com>";
        $subject = "Hi!";
        $body = "Hi,\n\nHow are you?";

        $host = "ssl://smtp.gmail.com";
        $port = "465";
        $username = "<myaccount.gmail.com>";
        $password = "password";

        $headers = array ('From' => $from,
          'To' => $to,
          'Subject' => $subject);
        $smtp = Mail::factory('smtp',
          array ('host' => $host,
            'port' => $port,
            'auth' => true,
            'username' => $username,
            'password' => $password));

        $mail = $smtp->send($to, $headers, $body);

        if (PEAR::isError($mail)) {
          echo("<p>" . $mail->getMessage() . "</p>");
         } else {
          echo("<p>Сообщение успешно отправлено!</p>");
         }

?>

Нет комментариев

Добавить комментарий


(обязательно)