У меня есть электронное письмо с HTML-содержимым, которое не соответствует стандартам электронной почты. Это означает, что он имеет разметку, недопустимую в стандартах электронной почты.
Мне нужно отправить эту переменную содержимого / PHP как HTML-файл, а не как содержимое тела письма. Я использую wp_mail. Я просто хочу взять переменную $ template и каким-то образом сделать из нее html-файл и отправить его. Ниже представлена простая функция wp_mail, которую я использую. Опять же, мне нужно использовать переменную $ template и каким-то образом сгенерировать из нее HTML-файл.
file_put_contents не вариант.
wp_mail($to, $subject, $template, $headers, $mail_attachment);






Как насчет $ myfile = fopen ('myHTMLFile.html', 'ш');
А с помощью fwrite () вы помещаете в него свой контент и отправляете его.
Вы можете использовать wp_upload_bits для создания файла шаблона, поскольку wp_mail принимает только файлы для вложений:
$html_file = wp_upload_bits('test.html', null, $template);
а затем вызовите wp_mail, чтобы отправить прикрепленный html:
wp_mail($to, $subject, 'your message', array('Content-Type: text/html; charset=UTF-8;'), array($html_file['file']) );
Не забудьте проверить объект $html_file, $html_file['error'] должен быть ложным.
Наконец, вы можете удалить файл с сервера:
unlink( $html_file['file'])
Надеюсь это поможет!