<<>Solution below>
Hi guys。 我一直在尝试不同的方式来处理这一问题,但仍然打着同样的错误。 我有一种形式,可以选择一些用户电子邮件地址和一些pdf文档,并将寄给他们。 问题是,PHP将产生错误,因为书本正在使用大量的记忆(超过90兆克)。 我曾尝试使用邮件(邮局),现在正在尝试: 我能采取另一种方式吗?
include_once( Mail.php );
include_once( Mail/mime.php );
$from = "it@example.com";
$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);
}
}
SOLUTION
The following code is working with much better memory usage:
$from = "it@example.com";
echo From: .$from." "; echo Subject: .$_POST[subject]." "; echo Text: .$_POST[message]." ";
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." "; } } $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." "; } }