can';无法在phpMailer v5中连接超过8 mb的数据
我正在使用phpmailerv5。从今天开始,它工作得很好,但今天我尝试用邮件正文附加两个图像,每个邮件正文为4.1MB。它返回了PHP致命错误 致命错误:第616行/PHPMailer master/class.smtp.php中允许的内存大小为67108864字节(尝试分配32字节) 当我尝试使用较小的图像时,效果很好,但当图像总大小超过8MB时,返回错误 我检查了内存限制,它是64M 立柱最大尺寸48M 上传最大文件大小32M 这是我的密码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
$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,它工作正常。但从长远来看,如果您发送较大文件大小的附件,这不是一个解决方案。