我有一封电子邮件,其中包含不适合电子邮件标准的HTML内容。这意味着它的标记在电子邮件标准中无效。
我需要将这个content/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','w'(;
使用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']
必须为false。
最后,您可以从服务器删除文件:
unlink( $html_file['file'])
希望这能有所帮助!