Письмо не будет отправлено в gmaill на php

Я новичок в php, поэтому я написал код для тестирования, который отправит электронное письмо с помощью php. Я использую «PHPMailer-5.2.27» для отправки электронной почты с помощью SMTP на php, но когда я запускаю код, электронное письмо не отправляется. Не знаю, в чем проблема. Может кто-нибудь мне помочь!

<?php

require 'phpmailer/PHPMailerAutoload.php';

$mail = new PHPMailer();
$mail->Host = "smtp.gmail.com";
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "xxxxxxxx";
$mail->SMTPSecure = "ssl";
$mail->Port = 465;
$mail->Subject = "test mail";
$mail->Body = "just a test";
$mail->setFrom('[email protected]','aaaa');
$mail->addAddress('[email protected]');

if ($mail->send())
    echo "mail is sent";
else
    echo "something wrong ";
?>

Установите $ mail-> SMTPDebug = истина, используемый для отладки ошибки. Пожалуйста, используйте $ mail-> ErrorInfo, чтобы распечатать ошибку

Vamsi 18.12.2018 08:18

Включите режим отладки SMTP и проверьте, какую ошибку вы получаете.

Kamal Paliwal 18.12.2018 08:18

окей минутку!

robert 18.12.2018 08:20

вот что появляется: .............................................. .............. ‌ .................... ‌ ............ ........ ‌ .................... ‌ ........... Ошибка подключения SMTP (). github.com/PHPMailer/PHPMailer/wiki/ Устранение неполадок что-то не так

robert 18.12.2018 08:22

Найдите решение здесь: stackoverflow.com/questions/22927634/…

rs007 18.12.2018 08:46

Ознакомьтесь с этой ссылкой на документацию по устранению неполадок - там много о gmail.

Synchro 18.12.2018 13:34
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
6
124
1

Ответы 1

Предположим, вы разрешили своей учетной записи Gmail авторизовать сервер, с которого вы отправляете электронное письмо.

используйте $mail->ErrorInfo; для отладки вашей проблемы, это прояснит, какова фактическая причина отказа при отправке электронного письма, вы можете сослаться на приведенный ниже код, которым я поделился.

<?php
require "PHPMailer/PHPMailerAutoload.php";
echo !extension_loaded('openssl')?"Not Available":"Available"; //check openssl is available or not
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 2; // 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; // or 587
$mail->IsHTML(true);
$mail->Username = "[email protected]";
$mail->Password = "**********";
$mail->SetFrom("[email protected]");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("[email protected]");

if (!$mail->Send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;
} else {
        echo "Message has been sent";
}
?>

Это устаревший код. SMTPDebug = 1 ничего вам не скажет; установите его на 2.

Synchro 18.12.2018 12:52

@Synchro спасибо за исправление

vikram sahu 18.12.2018 12:54

Другие вопросы по теме