PHP Mail не отправляет вывод функции - PullRequest
0 голосов
/ 14 ноября 2011

На моем сайте WordPress я пытаюсь отправить по почте () выходные данные функции, однако она не может вернуть выходные данные, но возвращает жестко закодированные выходные данные, помещенные в цикл while.

По сути, то, что я спрашиваючто в этом коде не так и как я могу это исправить.Я предпочел бы быть обученным тому, что я сделал неправильно, чем «Исправлен код; скопируйте и вставьте» , если это возможно.

Я намеренно стараюсь держаться подальше от встроенногоФункции и вызовы WordPress

РЕДАКТИРОВАТЬ : Когда I echo $string;, он отображается с ожидаемым выводом, отформатированным так, как я планировал, за исключением содержимого между ob_start() и ob_end_clean().

Функции правильно выбирают данные, они просто не включаются в отправляемое сообщение электронной почты, которое отправляется, просто выглядит пустым.При отправке в виде открытого текста содержимое электронной почты выглядит следующим образом:

<html><br /><br /></html>

Обновленный код

Я только что проверил выводкода, с целью отображения его вам, чтобы вы могли увидеть результат, и я заметил, что он включен вместо всех выводимых писем, из-за «бонусной функции» одного из моих плагинов, я неуверен, какой, так как я ничего не кодировал.Включено встроено из-за несоответствия требованиям репутации для публикации более двух гиперссылок.

<p>ward@halifaxonline.com.au<script type="text/javascript"> /* <![CDATA[ */ (function(){try{var s,a,i,j,r,c,l=document.getElementById("__cf_email__");a=l.className;if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})(); /* ]]> */ </script><br> <br> </p>

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

Ожидаемый вывод

1 Ответ

1 голос
/ 14 ноября 2011

В строке 34:

mail($to, 'Test', $string, $headers) ;

должно быть

$sent = mail($to, 'Test', $string, $headers) ;

Вот почему он продолжает говорить, что почта не отправлена. Он был отправлен, но вы не установили проверяемую переменную.

...