Не могу отправить электронное письмо, используя PHP - получить сообщение, отправленное по электронной почте, но письмо на самом деле не отправлено - PullRequest
0 голосов
/ 27 апреля 2020

Я пытался отправить почту, используя SMTP-сервер, и я выполнил все настройки. Я получил сообщение о том, что письмо отправлено, спасибо. Но когда я go на мою учетную запись электронной почты нет почты. Кроме того, поскольку я пытаюсь отправить электронное письмо со своего почтового адреса на другой адрес, мне пришло письмо, в котором говорится, что кто-то пытается войти в вашу учетную запись. Здесь я понимаю, что код может войти в мою учетную запись, но не может отправить письмо. В чем проблема может быть здесь?

Вот что я сделал в файле sendmail.ini:

**

  • smtp_server = smtp.gmail.com
  • smtp_port = 465
  • smtp_ssl = ssl
  • default_domain = localhost
  • error_logfile = error.log
  • debug_logfile = debug.log
  • auth_username = [mygmailadress] @ gmail.com
  • auth_password = [mypassword]
  • pop3_server =
  • pop3_username =
  • pop3_password =
  • force_sender =
  • force_recipient =
  • hostname = localhost

**

вот мой код:

  <?php 
   ini_set("SMTP","ssl://smtp.gmail.com");
   ini_set("smtp_port","465");
if(isset($_POST['submit'])){
$to = "mygmailadres@gmail.com"; // this is my Email address 
$from = $_POST['email']; // this is the user's Email address
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$subject = "Form submission";
$subject2 = "Copy of your form submission";
$message = $first_name . " " . $last_name . " wrote the following:" . "\n\n" . $_POST['message'];
$message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message'];

$headers = "From:" . $from;
$headers2 = "From:" . $to;
mail($to,$subject,$message,$headers);
mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly.";

   }
 ?>

 <!DOCTYPE html><head><title>Form submission</title></head><body>


<form action="" method="post">
 First Name: <input type="text" name="first_name"><br>
Last Name: <input type="text" name="last_name"><br>
 Email: <input type="text" name="email"><br>
 Message:<br><textarea rows="5" name="message" cols="30"></textarea><br>
  <input type="submit" name="submit" value="Submit">
 </form></body>
</html> 

1 Ответ

0 голосов
/ 27 апреля 2020

В GMAIL необходимо выполнить несколько настроек, чтобы он работал. Пожалуйста, проверьте следующие пункты.

  1. Пожалуйста, убедитесь, что в GMail отключена 2-этапная проверка, если вы используете SMTP-сервер GMail для отправки электронной почты (отправка электронной почты с использованием GMail), в противном случае вы можете получить «Электронная почта отправлена». ”, Но электронное письмо не будет отправлено.
  2. Включите доступ IMAP, который уже выполнен в вашей учетной записи.
  3. Возможно, вам придется разрешить менее защищенным приложениям доступ к вашей учетной записи в GMAIL. Перейдите по ссылке и прямой ссылке для защищенных приложений

Это сработало для меня, когда я попробовал все вышеописанные шаги. Если ни один из них не работает, необходимо проверить файл журнала ошибок, чтобы определить точную причину, по которой он прекращает отправку электронной почты.

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