这个$attachment
的参数wp_mail
获取文件(或文件数组)-但必须完全指定文件路径。例如:
<?php
$attachments = array(WP_CONTENT_DIR . \'/uploads/file_to_attach.zip\');
$headers = \'From: My Name <[email protected]>\' . "\\r\\n";
wp_mail(\'[email protected]\', \'subject\', \'message\', $headers, $attachments);
?>
(
see Codex). 看来你的
$_POST[\'file\']
可能未指定完整路径。
附件必须连接到file path, 不是url。以下几点对我有用:
$to = $_POST[\'to\'];
$from = $_POST[\'from\'];
$name = get_bloginfo(\'name\');
$headers = \'From: My Name <[email protected]>\' . "\\r\\n";
$subject = \'Send to Kindle\';
$msg = \'Yay! Your book has <a href="http://yahoo.com">arrived</a>\';
$mail_attachment = array(WP_CONTENT_DIR . \'/uploads/2012/03/image.png\');
wp_mail($to, $subject, $msg, $headers, $mail_attachment);
Note: 我改变了
headers
属性也是。我不完全确定您的示例试图做什么,但这意味着电子邮件的消息在某些电子邮件客户端上不可见。