[英]Memory leak when using AddEmbeddedImage
每当我在PHPMailer
使用AddEmbeddedImage
时,都会出现此错误:
致命错误:659行上的C:\\ xampp \\ htdocs \\ project \\ phpmailer \\ class.smtp.php中的134217728字节已用尽内存大小(尝试分配4096字节)
这是659行 :
$lines = explode("\n", str_replace(array("\r\n", "\r"), "\n", $msg_data));
这是代码的一部分:
$mail->Body = '
<html>
<head>
<title>Sign-Up Verification</title>
</head>
<body style="text-align:center;">
<img src="cid:letterhead">
</body>
</html>
';
$mail->AddEmbeddedImage('img/letterhead.jpg', 'letterhead', 'letterhead.jpg');
相对路径是正确的,所以我认为这不是问题。 我已经尝试过使用绝对路径:
<img src="C:\xampp\htdocs\project\img\letterhead.jpg"/>
尽管错误消失了,但邮件中没有显示图像。
有关该错误的线程说,增加内存限制应将其删除,但是为了安全起见,我试图避免编辑php.ini
。 我还查看了有关使用AddEmbeddedImage()
线程,但是没有一个问题说明该错误,并且语法正确。
我真的应该增加内存限制吗? 还是本地主机问题?
更新
尝试使用较小的图像(大小为1.5mb , 原始图像为26.7mb) ,我现在遇到的错误是
致命错误:第999行的C:\\ xampp \\ htdocs \\ amac2017 \\ phpmailer \\ class.smtp.php中超过30秒的最大执行时间
999行 :
$result = fwrite($this->smtp_conn, $data);
PHPMailer::AddEmbeddedImage()
很流行用于在电子邮件中添加图像,因此不太可能导致内存泄漏。 可以根据需要调整PHP的配置文件。 也许您可以缩小图片范围并适当地调整php.ini。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.