Так что я сейчас зациклен на этой теме (работаю на мобильном телефоне), но давайте посмотрим, смогу ли я вам помочь. Поэтому я посмотрел функцию setHTMLBody . Для типа немного нечетко, что ожидаемые параметры должны быть . В PHP вы можете получить тип, используя gettype($example)
(например, console.log(typeof example);
в JavaScript, хотя PHP обычно более щадителен для типов (вычисление числа, имеющего строковый тип, будет работать в PHP, а не в JavaScript)).
Название функции подразумевает, что должен сделать эту часть HTML-кода электронной почты. Теперь из всех модулей, которые я построил на своей веб-платформе, электронная почта была самой сложной не потому, что она сложна по своей сути, а потому, что она очень субъективна. Например, некоторые серверы могут ожидать, что вы будете обслуживать элемент <html>
, другие - элемент <body>
, а другим будет все равно, если вы его опустите (и я не уверен, что если какие-либо спецификации объявят, что здесь «уместно»),Я специально не работал со сжатием данных в электронных письмах (просто вывод в веб-почте, хотя в этом месте теряется технический контекст). Длинная история прямо здесь: пользовательский агент клиента (браузер, приложение электронной почты и т. Д.) Должен обрабатывать сжатие, а не вы.
PHP ob немного запутан. Мне не нравится та же функция / метод, которая используется как для сжатия, так и для возможности захвата и поиска / замены в выходных данных перед отправкой их клиенту. Я думаю вы используете его для сжатия, хотя вы также можете использовать его для замены битов кода по любой причине. В этом случае лучшим вариантом для устранения неполадок (при условии, что ваш ob должен работать, скорее всего, для замены битов кода) является использование строки и ее тестирование вне этой среды. Когда я тестирую задания cron, я всегда тестирую их в обычной среде first (хотя имейте в виду, что задания cron выполняются в гораздо более ограниченной среде, поэтому для отладки я просто print_r($_SERVER)
отправляю мне информацию по электронной почте).
Так что я думаю, что ваш код ob испортил функцию парсера setHTMLBody()
. Разбивайте код до тех пор, пока у вас не появятся рабочие биты, и , а затем добавьте к нему необходимые и все более сложные биты, пока не столкнетесь с проблемой, а затем, поскольку вы точно знаете, что только что добавили, вы сможете выделитьвыпускать намного проще.
Мне нужны дальнейшие разъяснения, хотя я могу отредактировать этот ответ позже. Дайте мне знать, где вы находитесь, я всегда проверяю уведомления, даже если это занимает день.
У меня есть несколько инструментов дюжина , которые я использую при разработке. Я не уверен, что этот инструмент будет проверен, хотя он может как-то вам помочь, так как вы работаете с электронной почтой. https://www.mail -tester.com / помог мне решить некоторые проблемы, связанные с электронной почтой (это не связано с этой проблемой).