Как прикрепить удаленные файлы к электронной почте с помощью PHPMailer - PullRequest
0 голосов
/ 03 июня 2019

Я пытался прикрепить свой локальный файл с помощью PHP Mailer.Я получаю вложение только в том случае, если файл вложения находится на собственном сервере, но когда я попытался прикрепить файл с моего диска c, скажите [C: \ Users \ emp10144 \ Downloads], я получаю вложение, но с пустой страницей.Мне нужно было изменить мои кодировки.Ниже приведены кодировки, которые я использовал.

$mail->From = 'admin123@sampledemos123.online';
$mail->FromName = 'Admin';
$mail->AddAddress('targetmail@gmail.com', 'User');  // Add a recipient
//$mail->AddAddress('ellen@example.com');               // Name is optional
//$mail->AddAttachment('Daily_Milk_Report.csv','Daily_Milk_Report.csv'); 
This is working fine as the attcahment file is in own server
$filename = "C:\Users\emp10144\Downloads','Daily_Milk_Report.csv"; // Need to attcah this file from C drive/folder.
//$string = file_get_contents("C:\Users\emp10144\Downloads\sample.pdf");
$mail->AddStringAttachment($string, $filename, $encoding = 'base64', $type = 'application/vnd.ms-excel');
$mail->IsHTML(true);                                  // Set email format to HTML

1 Ответ

0 голосов
/ 03 июня 2019

Нет, вы не можете передать URL на addAttachment и заставить его получить ресурс.

Это намеренно; PHPMailer не является HTTP-клиентом и активно избегает быть таковым. Если вы хотите сделать это, вы должны взять на себя ответственность за выборку, что проще всего сделать так:

$mail->addStringAttachment(file_get_contents($url, 'myfile.png'));
...