Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHPMailer将远程文件附加到电子邮件_Php_Phpmailer - Fatal编程技术网

如何使用PHPMailer将远程文件附加到电子邮件

如何使用PHPMailer将远程文件附加到电子邮件,php,phpmailer,Php,Phpmailer,我尝试使用PHP Mailer附加我的本地文件。仅当附件文件位于自己的服务器中时,我才获得附件,但当我试图从我的c驱动器(比如[c:\Users\emp1014\Downloads])附加该文件时,我获得的是带有空白页的附件。我需要修改我的编码吗。下面是我使用的编码 $mail->From = 'admin123@sampledemos123.online'; $mail->FromName = 'Admin'; $mail->AddAddress('targetmail@gm

我尝试使用PHP Mailer附加我的本地文件。仅当附件文件位于自己的服务器中时,我才获得附件,但当我试图从我的c驱动器(比如[c:\Users\emp1014\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

不,您不能将URL传递到
addAttachment
并让它获取资源

这是故意的;PHPMailer不是HTTP客户机,并且主动避免成为HTTP客户机。如果您想这样做,您需要自己负责提取,这是最容易实现的,如下所示:

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

您应该附加一个internet上其他人可以访问的文件。因此,它应该首先上传到服务器,然后才能附加。谢谢@parisss,但我了解到,我们可以使用功能“$mail->AddStringAttachment”附加远程文件。有人能帮我解决这个问题吗?因为我在过去两天一直在处理这个问题……请具体说明您在这里实际需要/想要什么
C:\Users\emp1014\Downloads
一开始就不是“远程文件”。“需要从C驱动器/文件夹中附加此文件。”-服务器的?还是用户的机器?如果是后者,您需要让用户上传文件,您无法访问客户端上的任意文件。@04FS,需要从用户(我的机器)附加文件,但使用AddStringAttachment,我们可以调用所需文件并将其作为附件发送吗?注释不用于扩展讨论;这段对话已经结束。