Ошибка в переменной при попытке использования Mail () - PullRequest
0 голосов
/ 13 февраля 2019

Я пробовал множество разных способов решить эту проблему, когда я пытаюсь отправить электронное письмо, если я заполняю значение 'name' одним словом, через которое оно проходит, и электронное письмо отправляется.Но если значение name содержит более 1 слова, появляется сообщение об ошибке.

<?php
if( !isset($_POST['name']) || empty($_POST['name']) ||
    !isset($_POST['phone']) || empty($_POST['phone']) ||
    !isset($_POST['email']) || empty($_POST['email']) ||
    !isset($_POST['asunto']) || empty($_POST['asunto']) ||
    !isset($_POST['mensaje']) || empty($_POST['mensaje'])
){
    echo '<p>Please fill in all fields</p>';
}else{

    $name = $_POST['name'];
    $phone = $_POST['phone'];
    $email = $_POST['email'];
    $asunto = $_POST['asunto'];
    $mensaje = $_POST['mensaje'];
    $to = 'mail@hotmail.com'; 
    $from = 'From:' . $name . '';

    $subject = 'Mensaje de ' . $name . '';  
    $message = 'Nombre: ' . $name . '<br/><br/>
               Telefono: ' . $phone . '<br/><br/>
               Correo electronico: ' . $email . '<br/><br/> 
               Asunto: ' . $asunto . '<br/><br/>
               Mensaje: ' . nl2br($mensaje) . '<br/>';

    if (mail ($to, $subject, $message, $from)) { 
        echo '<p>Your message has been sent!</p>';
    } else { 
        echo '<p>Something went wrong, go back and try again!</p>'; 
    }
}
?>

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

RiggsFolly было правильно, в следующей строке произошла ошибка

Неверно

$from = 'From:' . $name . '';

Действительный

$from = 'From: ' . $email . '';
0 голосов
/ 14 февраля 2019

Попробуйте это:

$from = 'From: ' . $name. ' <' . $email . '>' . "\r\n" . 'X-Mailer: PHP';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...