Отправка электронной почты с использованием Amazon SES и PHP Mailer с localhost - PullRequest
1 голос
/ 12 октября 2019

Я разрабатываю приложение PHP, в котором я пытаюсь отправить электронное письмо для тестирования. Я использую PHPMailer и Amazon SES. В настоящее время я нахожусь в режиме разработки, поэтому программное обеспечение не подключено к сети, и я работаю с localhost (Xampp). Проблема в том, что электронное письмо не отправляется, несмотря на то, что мое имя пользователя, пароль и все данные верны.

Это следующий код, который я сейчас использую.

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'phpmailer/src/Exception.php';
require 'phpmailer/src/PHPMailer.php';
require 'phpmailer/src/SMTP.php';

$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 0;
$mail->Host = 'email-smtp.us-east-1.amazonaws.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->IsHTML(true);
$mail->SMTPAuth = true;
$mail->Username = 'HIDDEN';
$mail->Password = 'HIDDEN';
$mail->setFrom('zoomkraft1000@gmail.com', 'DateApp');
$mail->addAddress('shubhamjha1000@gmail.com', 'Shreyansh');
$mail->Subject = 'This is a subject.';
$mail->Body    = 'This is a test message.';

if($mail->send()){
  echo "Mail sent!";
}else{
  echo "Error";
}

?>

Я всегда получаю сообщение об ошибке, так как письмо не отправляется. Пожалуйста, если кто-нибудь может сообщить мне, в чем проблема, я буду благодарен. Это потому что я на локальном хосте? Или мне нужно настроить файл php.ini для отправки писем? Если да, пожалуйста, дайте мне знать процесс.

ОБНОВЛЕНИЕ

  1. Он также не работает в Интернете. Я только что попробовал это. Вы можете видеть здесь http://www.startdating.in/test.php

  2. Я забыл упомянуть, что я не настроил предмет домена в учетной записи Amazon SES. Я только настроил почту и SMTP сервисы.

ИЗМЕНЕНО ОТЛАДКИ до 1

СООБЩЕНИЕ ОБ ОШИБКАХ ОТ LOCALHOST

2019-10-12 18:25:25 CLIENT -> SERVER: EHLO localhost
2019-10-12 18:25:26 CLIENT -> SERVER: STARTTLS
2019-10-12 18:25:27 CLIENT -> SERVER: EHLO localhost
2019-10-12 18:25:27 CLIENT -> SERVER: AUTH LOGIN
2019-10-12 18:25:27 CLIENT -> SERVER: <credentials hidden>
2019-10-12 18:25:27 CLIENT -> SERVER: <credentials hidden>
2019-10-12 18:25:27 CLIENT -> SERVER: MAIL FROM:<zoomkraft1000@gmail.com>
2019-10-12 18:25:28 CLIENT -> SERVER: RCPT TO:<shubhamjha1000@gmail.com>
2019-10-12 18:25:28 CLIENT -> SERVER: DATA
2019-10-12 18:25:28 CLIENT -> SERVER: Date: Sat, 12 Oct 2019 20:25:24 +0200
2019-10-12 18:25:28 CLIENT -> SERVER: To: Shreyansh <shubhamjha1000@gmail.com>
2019-10-12 18:25:28 CLIENT -> SERVER: From: DateApp <zoomkraft1000@gmail.com>
2019-10-12 18:25:28 CLIENT -> SERVER: Subject: This is a subject.
2019-10-12 18:25:28 CLIENT -> SERVER: Message-ID: <wOLtFTSGmh2slZxkUcYhUA4lc0sTi0UdiiDHjUzbGs@localhost>
2019-10-12 18:25:28 CLIENT -> SERVER: X-Mailer: PHPMailer 6.0.6 (https://github.com/PHPMailer/PHPMailer)
2019-10-12 18:25:28 CLIENT -> SERVER: MIME-Version: 1.0
2019-10-12 18:25:28 CLIENT -> SERVER: Content-Type: text/html; charset=iso-8859-1
2019-10-12 18:25:28 CLIENT -> SERVER:
2019-10-12 18:25:28 CLIENT -> SERVER: This is a test message.
2019-10-12 18:25:28 CLIENT -> SERVER:
2019-10-12 18:25:28 CLIENT -> SERVER: .
2019-10-12 18:25:29 SMTP ERROR: DATA END command failed: 554 Message rejected: Email address is not verified. The following identities failed the check in region US-EAST-1: shubhamjha1000@gmail.com
SMTP Error: data not accepted.
Error2019-10-12 18:25:29 CLIENT -> SERVER: QUIT

СООБЩЕНИЕ ОБ ОШИБКАХ С www.stardating.in/test.php

2019-10-12 18:25:53 SMTP ERROR: Failed to connect to server: Connection refused (111)
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Error

Кроме того, я настроил и подтвердил имя домена stardating.in в учетной записи Amazon SES. Тем не менее проблема сохраняется.

1 Ответ

1 голос
/ 13 октября 2019

Вы видите

ОШИБКА SMTP: Команда DATA END не выполнена: 554 Сообщение отклонено: Адрес электронной почты не подтвержден. Следующие удостоверения не прошли проверку в регионе US-EAST-1: shubhamjha1000@gmail.com Ошибка SMTP: данные не принимаются.

AWS SES «Режим песочницы» позволяет отправлять только электронные письма с и напроверенные адреса электронной почты. Полный список ограничений здесь:

Вы можете отправлять почту только на подтвержденные адреса электронной почты и домены или на симулятор почтовых ящиков Amazon SES.

Вы можете отправлять почту только с подтвержденных адресов электронной почты иdomains.

Примечание

Это ограничение применяется даже в том случае, если ваша учетная запись не находится в «песочнице».

Вы можете отправлять максимум 200 сообщений в сутки.

Вы можете отправлять максимум 1 сообщение в секунду.

Чтобы выйти из «режима песочницы», отправьте им билет

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...