2016-07-28 4 views
0

У меня возникли проблемы с отправкой писем через PHP.PHP Отправка электронной почты Ошибка Comma

Так у меня есть форма, которая отправляет на PHP скрипт, который отправляет по электронной почте:

<?php 

    $to = "[email protected]"; 
    $subject = "[Contact Form]"; 
    $name = $_POST["name"]; 
    $contactNumber = $_POST["contactNumber"]; 
    $email = $_POST["email"] ; 
    $message = $_POST["message"]; 
    $body = "Someone has sent a new message from the contact form. \n \n Message from: " . $name . "\n Contact Number: ". $contactNumber ."\n Email: ". $email ."\n \n Message: ". $message; 


    if (mail($to, $subject, $body)) { 
     echo ("<p>Email successfully sent!</p>"); 
    } else { 
     echo ("<p>Email delivery failed…</p>"); 
    } 


?> 

И электронная почта отправляется в порядке, когда, например, сообщение одна линия, таких как:

«Привет, как дела?»

И хорошо, если это несколько линий, таких как

"Привет там

, как это происходит?"

Но когда я пытаюсь напечатать сообщение с запятой, такой как

Привет,

, как это происходит?

Не удается?

Есть ли способ, которым я могу просто обработать все это как строку? Будет ли это также терпеть неудачу на любых других персонажах или это проблема только из-за того, как я пишу PHP-скрипт?

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

Спасибо за помощь!

+1

присвоить массив POST для сообщения переменного первым. то же самое для всех ваших других POST-массивов, это проще. –

+1

Ошибка электронной почты из-за запятой в строке? Довольно загадочно. Вам нужно будет сделать еще кое-что, чтобы кто-то мог вам помочь. Сначала попробуйте обернуть строку в 'utf8_encode', чтобы избежать каких-либо странных символов. – dan08

+0

Попробуйте использовать htmlentities: http://php.net/manual/de/function.htmlentities.php –

ответ

0

Попробуйте использовать заголовки в вашей почтовой функции, например:

$headers = 'MIME-Version: 1.0\r\n'; 
$headers .= 'Content-type: text/html; charset=UTF-8\r\n'; 
mail($to, $subject, $body, $headers) 
+0

Кажется, исправлена ​​проблема! Спасибо :) – user3195250

+0

mine are liek это – AndrewS

Смежные вопросы