English 中文(简体)
PHP & Pear: 邮件记忆
原标题:PHP & Pear::Mail Memory Exhaustion

<<>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." "; } }

最佳回答

没有使用 Pear:mail_Mime 我把你从记忆中抽出,因为你创建了一个品牌的新<密码>——Mime(,对每一座旋转器都投了反对票,似乎所有照相。

尽可能少地创造,摆脱最外围的边缘。

电子邮件:。 您也许可以重新使用同样的<代码> 电话标语,并向它提供新的头盔和身体。

为了确保在使用你的记忆时,用memory_get_usage(,并将产出记录在增加。

问题回答

暂无回答




相关问题
Angle brackets in php

I want to store angle brackets in a string in PHP because i want to eventually use mail() to send an HTML email out. The following is the code that doesn t seem to work. while(...) { $msg .= "<...

authlogic auto_register feature using my options

I have auto registration working with authlogic using gaizka s version of authlogic_openid which I found on Github since pelle s original addition of the feature seemed to cause issues. http://...

Zend 邮件问题,涉及外国char子+ com子

泽斯德邮局在名称被定为具有外国性质(如“保”)和 com(”)的物品时,就放弃了一种例外(因为邮局(邮局)退回假)。 重新提出以下守则。

How to track an email in Java?

How I can track an email? I m using java on the server side for sending emails. I want to track whether it is delivered , opened, etc... How I can do that ?

Web Link in a mail is not rendering as link in yahoo

string from = "abc@gmail.com"; string to = "xyz@gmail.com,xyz@yahoo.co.in"; string password="abcxyz"; MailMessage mail = new System.Net.Mail.MailMessage(); mail.To.Add(to); mail.From = new ...

SharePoint - Approaching Website Storage Limit Email

How can i go about changing the distribution list as well as the email text for the email that goes out to site collection admin when a site collection approaches it s size limit? Thanks for your ...

How to create an email mailing list

Im creating a coming soon page for a website im developing, and im adding an option for the user to enter their email address so we can email them when the site is up. How do I do this?

CCNet email does not include MSBuild results

We re using CCNet 1.4.4.83 but when an MSBuild task fails, we don t get the MSBuild results (i.e. missing file or whatever reason the compile failed) in the email notification. I do see the build ...

热门标签