PHP & Pear::Mail Memory Exhaustion

webmovieololo

New Member
Solution belowHi guys. I've been trying different ways to approach this but still hitting the same error. I have a form where you can select some users email addresses and some pdf file and it will send to them. Problem is that PHP will throw an error because the script is using massive amounts of memory (over 90 meg). I have tried using mail() and now trying PEAR:Mail_Mime Is there another way I can do this?\[code\]include_once('Mail.php');include_once('Mail/mime.php');$from = "[email protected]";$subject = $_POST[subject];$text = $_POST[message];if (count($_POST[emailEnq]) > 0) { foreach ($_POST[emailEnq] as $Ekey => $Evalue) { $message = new Mail_mime(); $message->setTXTBody($text); if (count($_POST[emailFile]) > 0) { foreach ($_POST[emailFile] as $key => $value) { $filepath = "/home/mds07/console/admin/media/listings/" . $_POST[list_ID] . "/docs/"; ////////////////////You will need to change the above line if the location of the PHP program ever moves//////////////////////////// $fileatt = $filepath . $value; $message->addAttachment($fileatt); } } $body = $message->get(); $extraheaders = array("From" => $from, "Subject" => $subject); $headers = $message->headers($extraheaders); $mail = Mail::factory("mail"); $mail->send($Evalue, $headers, $body); }}\[/code\]SOLUTION
The following code is working with much better memory usage:\[code\]$from = "[email protected]";echo 'From: '.$from."\n";echo 'Subject: '.$_POST[subject]."\n";echo 'Text: '.$_POST[message]."\n";include_once('Mail.php');include_once('Mail/mime.php');$message = new Mail_mime();$message->setTXTBody($_POST[message]);if (count($_POST[emailFile]) > 0) { foreach ($_POST[emailFile] as $key => $filename) { $filepath = "/home/mds07/console/admin/media/listings/" . $_POST[list_ID] . "/"; ////////////////////You will need to change the above line if the location of the PHP program ever moves//////////////////////////// $fileatt = $filepath . $filename; $message->addAttachment($fileatt); echo 'Attached File: '.$filename."\n"; }}$body = $message->get();$extraheaders = array("From" => $from, "Subject" => $_POST[subject]);$headers = $message->headers($extraheaders);$mail = Mail::factory("mail");if (count($_POST[emailEnq]) > 0) { foreach ($_POST[emailEnq] as $key => $recipient) { $mail->send($recipient, $headers, $body); echo 'Sent mail to: '.$recipient."\n"; }} \[/code\]
 
Back
Top