Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
can';无法在phpMailer v5中连接超过8 mb的数据_Php_Phpmailer - Fatal编程技术网

can';无法在phpMailer v5中连接超过8 mb的数据

can';无法在phpMailer v5中连接超过8 mb的数据,php,phpmailer,Php,Phpmailer,我正在使用phpmailerv5。从今天开始,它工作得很好,但今天我尝试用邮件正文附加两个图像,每个邮件正文为4.1MB。它返回了PHP致命错误 致命错误:第616行/PHPMailer master/class.smtp.php中允许的内存大小为67108864字节(尝试分配32字节) 当我尝试使用较小的图像时,效果很好,但当图像总大小超过8MB时,返回错误 我检查了内存限制,它是64M 立柱最大尺寸48M 上传最大文件大小32M 这是我的密码 $SendMail = new PHPMaile

我正在使用phpmailerv5。从今天开始,它工作得很好,但今天我尝试用邮件正文附加两个图像,每个邮件正文为4.1MB。它返回了PHP致命错误

致命错误:第616行/PHPMailer master/class.smtp.php中允许的内存大小为67108864字节(尝试分配32字节)

当我尝试使用较小的图像时,效果很好,但当图像总大小超过8MB时,返回错误

我检查了内存限制,它是64M 立柱最大尺寸48M 上传最大文件大小32M

这是我的密码

$SendMail = new PHPMailer();
$SendMail->setFrom('from@example.com', 'First Last');
$SendMail->addAddress('whoto@example.com', 'John Doe');
$SendMail->Subject = "Mail Subject";
$SendMail->Body = "This is the body of the message.";
$SendMail->addAttachment($pic1);
$SendMail->addAttachment($pic2);
if (!$SendMail->send()) {
    echo "Mailer Error: " . $SendMail->ErrorInfo;
} else {
    echo "Message sent!";
}

在处理过程中的某一点上,PHPMailer将消息拆分为一行一行的数组。这会带来相当大的开销(大约3倍大小的数据),因为PHP的数组存储不是特别有效。这种方法的优点是速度非常快,但缺点是它会消耗内存。解决方案是要么增加PHP内存分配,要么不发送如此大的附件——发布链接通常是更好的解决方案;电子邮件对于大数据传输来说确实不是一个好的机制。

我现在也遇到了这个问题,使用PHPMailer的2.5MB excel XLS附件。它在一行中耗尽128MB内存,并将其拆分为一行一行阵列!我将内存限制提高到200MB,它工作正常。但从长远来看,如果您发送较大文件大小的附件,这不是一个解决方案。