phpmailer присылает пустое письмо

112
18 сентября 2021, 10:30

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

<?php 
require_once('phpmailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = 'utf-8';
$name = $_POST['name'];
$email = $_POST['email'];
$texts = $_POST['texts'];
//$mail->SMTPDebug = 3;// Enable verbose debug output
$mail->isSMTP();// Set mailer to use SMTP
$mail->Host = 'smtp.mail.ru'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true;// Enable SMTP authentication
$mail->Username = 'test2@mail.ru'; // Ваш логин от почты с которой будут отправляться письма
$mail->Password = '1231231231231'; // Ваш пароль от почты с которой будут отправляться письма
$mail->SMTPSecure = 'ssl';// Enable TLS encryption, `ssl` also accepted
$mail->Port = 465;//TCP port to connect to/этот порт может отличаться у других провайдеров
$mail->setFrom('test2@mail');// от кого будет уходить письмо?
$mail->addAddress('test@mail.ru');// Кому будет уходить письмо 
//$mail->addAddress('ellen@example.com');// Name is optional
//$mail->addReplyTo('info@example.com', 'Information');
//$mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');
//$mail->addAttachment('/var/tmp/file.tar.gz');// Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg');// Optional name
$mail->isHTML(true);// Set email format to HTML
$mail->Subject = 'Заявка с тестового сайта';
$mail->Body = '' .$name. ' оставил заявку, его почта ' .$email. '<br>Почта этого пользователя: ' .$texts;
$mail->AltBody = '';
if(!$mail->send()) {
echo 'Error';
} else {
echo 'Спасибо. Я отвечу Вам в ближайшее время';
}
?>

html

<form action="src/php/mail.php " 
      id="contact__form " 
      method="post" enctype="multipart/form-data">
   <p class="inp__title ">Остались вопросы? Напишите мне!</p>
   <input type="text " name="name " class="inp__name " placeholder="Имя: " />
   <input type="mail " name="email " class="inp__mail " placeholder="Почта: " />
   <textarea name="texts " class="inp__text "></textarea>
   <button type="submit " class="inp__subm ">Отправить</button>
</form>
Answer 1

У Вас пробелы в name - наверное, из-за этого. То есть, не name="texts ", а нужно везде name="texts", и с остальными name подобно этому.

) или добавьте везде нужные пробелы:

$name = $_POST['name '];
$email = $_POST['email '];
$texts = $_POST['texts '];
Answer 2

Скорей всего файл шаблона не подключён, потому что в строке

$mail->AddStringAttachment($generator_file_content,$generatorId ."html");

неверно указано имя файла. Попробуйте заменить на:

$mail->AddStringAttachment($generator_file_content,$generatorId .".html");
READ ALSO
Как сделать возврат

Как сделать возврат

Есть текст в файле

122
systemd - php worker

systemd - php worker

Подскажите пожалуйста, как через systemd линукса создать php-worker ?

95
Отправка 2 форм 1 запросом

Отправка 2 форм 1 запросом

В общем - у меня на странице есть 2 формыОни в разных местах страницы и даже в разных файлах темы

80