2014-12-23 5 views
1

Я пытаюсь отправить по электронной почте мой json с httppost на мой сайт. Со следующим кодом. но это не сработает. Как я могу отправить мне весь JSON-файл?PHP по электронной почте JSON файл

$myString = file_get_contents('php://input'); 
$json = json_decode($myString); 

$to  = '[email protected]'; 
$subject = 'JSON file'; 
$message = $json; 
$headers = 'From: [email protected]' . "\r\n" . 
'Reply-To: [email protected]' . "\r\n" . 
'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers);  
+0

Что не работает? Электронная почта не отправляется? Электронная почта пуста? Кроме того, в чем цель этого: '$ ALL = $ myString." \ R \ n ";' – mopo922

+0

Не должно ли $ message быть строкой? Вы пытаетесь отправить полный объект! Кроме того, если вы не хотите, чтобы строка JSON находилась в теле письма, вы можете попробовать отправить ее в виде вложения. – SuperSaiyan

+0

Электронная почта не отправляет ... Я могу разобрать json и вытащить необходимые значения из него. Но когда я пытаюсь отправить весь JSON, он не отправит – user2423476

ответ

0

json_decode() возвращает объект, и ваш $message должен быть string. Вы ничего не должны делать с вашей переменной $myString.

+0

Спасибо, что работал отлично – user2423476

0

json_decode() возвращает объект. Если вы хотите отправить контент по почте, вы должны изменить его на строку. Например:

$message = print_r($json); 
0

Я думаю, что если вы собираетесь отправить содержание JSON в вашей электронной почте, то вы не должны json_decode вашего входа получили. Поскольку принятый ввод является строкой и который нужно отправить только по почте, поскольку объект отправки приведет к фатальной ошибке.

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