Я пытаюсь отправить письмо через SMTP-сервер GMail со страницы PHP, но я получаю эту ошибку:
ошибка аутентификации [SMTP: SMTP-сервер не поддерживает аутентификацию (код: 250, ответ: mx.google.com к вашим услугам, [98.117.99.235] РАЗМЕР 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]
Кто-нибудь может помочь? Вот мой код:
<?php
require_once "Mail.php";
$from = "Sandra Sender <sender@example.com>";
$to = "Ramona Recipient <ramona@microsoft.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "smtp.gmail.com";
$port = "587";
$username = "testtest@gmail.com";
$password = "testtest";
$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>Message successfully sent!</p>");
}
?>
Mail.php
?? откуда мне взять этот файл?myaccount
имя пользователя.Используя почтовую программу Swift , довольно просто отправить письмо через учетные данные Gmail:
источник
Ваш код не использует TLS (SSL), который необходим для доставки почты в Google (и использует порты 465 или 587) .
Вы можете сделать это, установив
$host = "ssl://smtp.gmail.com";
Ваш код выглядит подозрительно, как в этом примере, который ссылается на ssl: // в схеме имени хоста.
источник
Я не рекомендую Pear Mail. Он не обновлялся с 2010 года. Также прочтите исходные файлы; исходный код почти устарел, написан в стиле PHP 4, и было опубликовано много ошибок / ошибок (Google it). Я использую Swift Mailer.
Swift Mailer интегрируется в любое веб-приложение, написанное на PHP 5, предлагая гибкий и элегантный объектно-ориентированный подход к отправке электронных писем с множеством функций.
Это бесплатный и с открытым исходным кодом вы можете скачать Swift Mailer и загрузить на свой сервер. (Список функций скопирован с сайта владельца).
Рабочий пример Gmail SSL / SMTP и Swift Mailer находится здесь ...
Надеюсь, это поможет. Удачного кодирования ... :)
источник
источник
SwiftMailer может отправлять электронную почту с использованием внешних серверов.
Вот пример, который показывает, как использовать сервер Gmail:
источник
Код, указанный в вопросе, нуждается в двух изменениях
Порт 465 необходим для соединения SSL.
источник
Отправка почты с использованием библиотеки phpMailer через Gmail Пожалуйста, загрузите файлы библиотеки с Github
источник
У меня была эта проблема также. Я установил правильные настройки и включил менее безопасные приложения, но он все равно не работал. Наконец, я включил этот https://accounts.google.com/UnlockCaptcha , и он сработал для меня. Я надеюсь, что это помогает кому-то.
источник
Gmail требует порт 465, а также это код от phpmailer :)
источник
Чтобы установить PEAR's Mail.php в Ubuntu, выполните следующий набор команд:
источник
У меня есть решение для учетных записей GSuite, у которого нет суффикса "@ gmail.com". Также я думаю, что это будет работать для учетных записей GSuite с @ gmail.com, но еще не пробовал. Во-первых, у вас должны быть права изменить опцию «allos¿w менее безопасное приложение» для вашей учетной записи GSuite. Если у вас есть права (вы можете проверить их в настройках учетной записи -> безопасность), вам нужно отключить «двухэтапную аутентификацию», перейти в конец страницы и установить «да», чтобы разрешить менее безопасные приложения. Это все. Если у вас нет прав для изменения этих параметров, решение для этого потока не будет работать. Проверьте https://support.google.com/a/answer/6260879?hl=ru, чтобы внести изменения в параметр «разрешить меньше ...».
источник
Я попробовал предложение, предложенное @shasi kanth, но оно не сработало. Я прочитал документацию, и некоторые изменения сделаны. Поэтому мне удалось отправить почту через Gmail, используя этот код, где vendor / autoload.php получен композитором с composer, требующим "swiftmailer / swiftmailer: ^ 6.0":
источник
Набор
Также посмотрите, работает ли порт 25.
источник