使用带附件的 wc_mail

我有一封需要发送给第三方的自定义 WooCommerce 电子邮件。在这封电子邮件中,我必须添加一个附件。我试过了,wc_mail()但附件没有附加。


这是它的样子:


$attachment = array();

ob_start(); 

include('some-html-email-content.php');

$message = ob_get_clean();

$attachment[] = get_template_directory() . '/some.pdf';

wc_mail('xxx@example.com', 'some subject ', $message, "Content-Type: text/html\r\n", $attachment);

我可以毫无问题地收到电子邮件,只是附件没有。我做错了什么?


我不能使用woocommerce_email_attachments过滤器挂钩,因为此邮件未附加到任何常规的 woocommerce 邮件(新订单、流程、新用户等....)。


我也尝试过wp_mail()仍然无法通过。


慕容3067478
浏览 108回答 3
3回答

白猪掌柜的

$attachment = array(  WP_PLUGIN_DIR . '/my-plugin/uploads/sample_photo_01.jpg' );附件应始终使用绝对文件系统路径。根据附件所在的位置更改文件的位置/名称。来源: http: //codex.wordpress.org/Function_Reference/wp_mail http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_mail_content_type

Cats萌萌

像这样的东西会起作用吗?我认为您为数组变量赋值的方式可能不正确?$getAttachment = get_template_directory() 。'/一些.pdf';$attachment = array("{$getAttachment}");更正了,对不起。

开满天机

结果是目录权限问题。因此,将上传目录更改为 755 即可。感谢您的帮助。
打开App,查看更多内容
随时随地看视频慕课网APP