0
我試圖發送大小超過2MB的郵件attatchment,但它給出錯誤 「致命錯誤:允許的內存大小爲31457280字節已用盡」。 我也是在php.ini file.bt這是行不通的嘗試下面的大小超過2 MB的電子郵件附件出錯MB
memory_limit =30M
max_execution_time =3600
post_max_size = 20M
upload_max_filesize = 20M
。
<?php
//sending Email using SMTP server
include "phpmailer/class.smtp.php";
include "phpmailer/class.phpmailer.php";
$Host = "mail.gmail.com"; // SMTP servers
$Username = "[email protected]"; // SMTP password
$Password = "******"; // SMTP username
$From = "[email protected]";
$FromName = "Your Name";
////multilple mail id
$str =$_SESSION['MailAll'];
$arr=explode(",",$str);
$Tos=$arr;
$Ccs = array(
"CC Name 1" => "[email protected]",
"CC Name 2" => "[email protected]"
);
$Subject ="Project Abstract";
///Message Body
$Body =$_POST['mailcont'] ;;
$mail = new PHPMailer();
$mail->IsSMTP(); // send via SMTP
$mail->Host = $Host;
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = $Username;
$mail->Password = $Password;
$mail->From = $From;
$mail->FromName = $FromName;
foreach($Tos as $key => $val){
$mail->AddAddress($val , $key);
}
$mail->WordWrap = 50; // set word wrap
$mail->Priority = 1;
$mail->IsHTML(true);
///// Multiple attachment file pass to $arr by $str
$str=$_SESSION['DOCFILE'];
$arr=explode(",",$str);
for($i=0;$i<count($arr)-1;$i++){
$mail->AddAttachment($arr[$i]);
}
$mail->Subject = $Subject;
$mail->Body = $Body;
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
header('location:sendABS.php');
// echo 'Message has been sent.';
}
?>
其實我是php編碼新手,在php.ini以前的內存限制是20M。所以我把它增加到30M,接下來我應該做什麼? – Sumit 2012-07-06 10:46:49
你試圖附加多少個文件? 128M又是默認的,爲什麼這麼低? :) – Brian 2012-07-06 10:49:29
我已經做出了改變,現在在128M的內存大小仍然不工作任何想法或建議任何人? – Sumit 2012-07-06 10:52:21