PHP邮件程序 - 超过100 KB的附件不会发送电子邮件

时间:2014-03-24 11:13:15

标签: php windows email iis phpmailer

我正在使用PHPMailer库发送电子邮件。我已将代码上传到不同的服务器,现在电子邮件不适用于大小超过100 KB的附件。这是错误

“无法实例化邮件功能。”

适用于小于100 KB的附件。似乎服务器上可能存在一些大小限制。如果是这种情况,那么在哪里查看?

我正在使用Windows服务器,以下是php邮件程序中的设置

  $mail = new PHPMailer();
  $mail->isMail();
  $mail->isHTML(true);
  $mail->Host = 'localhost';
  $mail->SMTPAuth = false;
  $mail->AddAddress('whoto@otherdomain.com', 'John Doe');
  $mail->SetFrom('donotreply@yourdomain.com', 'First Last');
  $mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
  $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!';
  $mail->MsgHTML(file_get_contents('contents.html'));
  $mail->AddAttachment('path/to/attachment');      // attachment
  $mail->Send();

请任何人都可以解决这个问题。我已经在互联网上搜索了上述问题,但无法解决这个问题。

1 个答案:

答案 0 :(得分:1)

有一些方法。请关注以下任何一项 -

方法1:编辑.htaccess

php_value upload_max_filesize 10M
php_value post_max_size 20M
php_value memory_limit 32M

方法2:编辑php.ini

upload_max_filesize = 10M
post_max_size = 20M
memory_limit = 32M

方法3:Suhosin(可选)

默认情况下,许多服务器上都没有安装(最新版本的Debian,Ubuntu和FreeBSD默认安装Suhosin)。使用phpinfo()来确定是否启用了suhosin。

<?php
   phpinfo();
?>

如果启用则 -

suhosin.memory_limit=32M

您可以根据需要更改数值。但最好保持较小,以便您的服务器CPU不会受到太多负载以及您的主机空间限制。

您也可以查看 -

max_execution_time = 240 
max_input_time = 240