Как отправить E-mail с сервера
Додано: Вів жовтня 18, 2022 5:20 pm
Всем привет! Подскажите, пожалуйста, у меня идет успешная отправка формы, статус 200, но письмо не приходит на почту. Как можно решить эту проблему. Я прочитал что отправителем должен быть "happyuser@zzz.com.ua", но это не помогло.
Код: Виділити все
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer/Exception.php';
require 'PHPMailer/PHPMailer.php';
$mail = new PHPMailer(true);
$mail->CharSet = 'UTF-8';
$mail->setLanguage('uk', 'PHPMailer/language/');
$mail->isHTML(true);
//От кого письмо
$mail->setFrom('happyuser@zzz.com.ua');
//Кому отправить
$mail->addAddress('myemail@gmail.com');
//Тема письма
$mail->Subject = "Тестовое письмо";
//Тело письма
if (trim(!empty($_POST['name']))) {
$body .= '<p><strong>Имя:</strong>' . $_POST['name'] . '</p>';
}
if (trim(!empty($_POST['second_name']))) {
$body .= '<p><strong>Фамилия:</strong>' . $_POST['second_name'] . '</p>';
}
if (trim(!empty($_POST['email']))) {
$body .= '<p><strong>Почта:</strong>' . $_POST['email'] . '</p>';
}
if (trim(!empty($_POST['phone']))) {
$body .= '<p><strong>Телефон:</strong>' . $_POST['phone'] . '</p>';
}
if (trim(!empty($_POST['address']))) {
$body .= '<p><strong>Адрес:</strong>' . $_POST['address'] . '</p>';
}
if (trim(!empty($_POST['message']))) {
$body .= '<p><strong>Сообщение:</strong>' . $_POST['message'] . '</p>';
}
//Прикрепить файл
if (!empty($_FILES['image']['tmp_name'])) {
//путь загрузки файла
$filePath = __DIR__ . "/files/" . $_FILES['image']['name'];
//грузим файл
if (copy($_FILES['image']['tmp_name'], $filePath)) {
$fileAttach = $filePath;
$body .= '<p><strong>Фото в приложении</strong></p>';
$mail->addAttachment($fileAttach);
}
}
$mail->Body = $body;
if (!$mail->send()) {
$message = 'Ошибка';
} else {
$message = 'Данные отправлены';
}
$response = ['message' => $message];
header('Content-type: application/json');
echo json_encode($response);