2010-07-18 2 views
1

Я использую модуль mimemail в Drupal для отправки электронных сообщений с вложениями. Электронные письма отправляются правильно, но вложения отсутствуют. Это код, я использую (я только что включен модуль):MimeMail: проблема с вложениями

$sender = '[email protected]'; 
$recipient = '[email protected]'; 
$subject = 'New order'; 
$body = 'Please, see the attachment.'; 
$plaintext = TRUE; 
$headers = array(); 
$attachments[]=array(   
    'filepath' => 'invoices/sample.pdf', 
    'filemime' => 'application/pdf', 
); 

mimemail($sender, $recipient, $subject, $body, $plaintext, $headers, $text = NULL, $attachments, $mailkey); 

Для того, чтобы убедиться, что путь к вложению Pdf правильно я написал эту строку, чтобы загрузить приложение из браузера, и это работает.

header('Location: invoices/sample.pdf'); 

Кроме того, я пробовал этот альтернативный код. Но все же ничего ...

$file = new stdClass(); 
$file->filename = 'sample.pdf'; 
$file->filepath = 'invoices/sample.pdf'; 
$file->filemime = 'application/pdf'; 
mimemail($sender, $recipient, $subject, $body, $plaintext, $headers, $text = NULL, array($file), $mailkey); 

пс. я не думаю об этом, но может быть, потому что мой хостинг запрещает отправлять вложения? спасибо

+0

Вы пытались использовать абсолютный путь к файлу вместо 'invoices/sample.pdf'? –

+0

да, я пробовал все возможные пути ... корень моего веб-сайта/счета-фактуры ... также полный http://www.domain.com/invoices ... - это вложения, хорошо объявленные и переданные функция милейшей? Я действительно застрял в этом, argh – aneuryzm

ответ

0

Для модуля Mime Mail открыты два отчета об ошибках.

В сообщении Attachments specified with absolute local paths are not added OP сообщает, что вложения, указанные с использованием абсолютных путей, не работают; для решения проблемы существует предлагаемый патч. В этом вопросе, он предложил, чтобы изменить код, чтобы отправить электронное письмо с вложениями из

header('Location: invoices/sample.pdf'); 

$sender = '[email protected]'; 
$recipient = '[email protected]'; 
$subject = 'New order'; 
$body = 'Please, see the attachment.'; 
$plaintext = TRUE; 
$headers = array(); 
$attachments[] = array(
    'filepath' => 'invoices/sample.pdf', 
    'filemime' => 'mime/type', 
); 

mimemail($sender, $recipient, $subject, $body, $plaintext, $headers, $text = NULL, $attachments, $mailkey); 

в

header('Location: invoices/sample.pdf'); 

$sender = '[email protected]'; 
$recipient = '[email protected]'; 
$subject = 'New order'; 
$body = 'Please, see the attachment.'; 
$plaintext = TRUE; 
$headers = array(); 
$attachments[] = array(
    'filepath' => 'invoices/sample.pdf', 
    'filemime' => 'mime/type', 
    'filename' => 'sample.pdf', 
    'list' => TRUE, 
); 

mimemail($sender, $recipient, $subject, $body, $plaintext, $headers, $text = NULL, $attachments, $mailkey); 

В mimemail + smtp + attachments not working with attachments, сообщает О.П., что вложения не отображается при использовании SMTP; в том же отчете другой пользователь сообщает, что он не использует SMTP, но прикрепления не отображаются, когда электронное письмо отправляется через Правила.

+0

Правильная функция вызова в Drupal и тот же эффект от 'header()', это 'drupal_set_header()', который хранит заголовки набора в статической переменной и возвращает уже установленные заголовки. – kiamlaluno

+0

отлично, НАКОНЕЦ, это сработало. – aneuryzm