如何使用PHPMailer将远程文件附加到电子邮件
我尝试使用PHP Mailer附加我的本地文件。仅当附件文件位于自己的服务器中时,我才获得附件,但当我试图从我的c驱动器(比如[c:\Users\emp1014\Downloads])附加该文件时,我获得的是带有空白页的附件。我需要修改我的编码吗。下面是我使用的编码如何使用PHPMailer将远程文件附加到电子邮件,php,phpmailer,Php,Phpmailer,我尝试使用PHP Mailer附加我的本地文件。仅当附件文件位于自己的服务器中时,我才获得附件,但当我试图从我的c驱动器(比如[c:\Users\emp1014\Downloads])附加该文件时,我获得的是带有空白页的附件。我需要修改我的编码吗。下面是我使用的编码 $mail->From = 'admin123@sampledemos123.online'; $mail->FromName = 'Admin'; $mail->AddAddress('targetmail@gm
$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,我们可以调用所需文件并将其作为附件发送吗?注释不用于扩展讨论;这段对话已经结束。