每当我使用
AddEmbeddedImage
PHPMailer
致命错误:C:\xampp\htdocs\project\phpmailer\class中允许的内存大小为134217728字节(试图分配4096字节)。smtp。php第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)
,我现在遇到的错误是
致命错误:在C:\xampp\htdocs\amac2017\phpmailer\class中超过了30秒的最长执行时间。smtp。php第999行
:
$result = fwrite($this->smtp_conn, $data);