Использование почты wp с вложениями, но без полученных вложений


Я рассматривал несколько примеров, включая этот.

Я получаю электронное письмо без проблем, но в нем нет вложений. Мне не хватает содержимого/типа типа файла? Во всех примерах, которые я видел, в качестве типа контента используется только текст/html.

Вот что у меня есть (добавлено по просьбе Стивена)

if( isset( $_POST['to'] ) && isset( $_POST['from'] ) ) {
global $wpdb;

$to = $_POST['to'];
$from = $_POST['from']; 
$name = get_bloginfo('name');
$attachment = $_POST['file'];
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: multipart/mixed; charset=iso-8859-1' . "\r\n";

$headers .= 'From: ' . $name . ' <' . $from . '>' . "\r\n";   
$subject = 'Send to Kindle';
$msg = 'Yay! Your book has <a href="http://yahoo.com">arrived</a>';

$mail_attachment = array( $attachment );
wp_mail($to, $subject, $msg, $headers, $mail_attachment);
echo 'Email sent';
} else {
echo 'Email not sent';
}
 16
Author: butlerblog, 2012-04-26

1 answers

Аргумент $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);
?>

( см. Кодекс). Похоже, что ваш $_POST['file'], вероятно, не указывает полный путь.

Вложение имеет путь к файлу , а не 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);

Примечание: Я также изменил атрибут headers. Я не совсем уверен, что вы, например, пытались сделать, но это означало сообщение часть письма не была видна на некоторых почтовых клиентах.

 30
Author: Stephen Harris, 2012-04-27 10:45:56