2014-03-24 49 views
1

我使用PHPMailer庫發送電子郵件。我上傳了代碼到不同的服務器,現在電子郵件不能用於超過100 KB大小的附件。它給錯誤PHP梅勒 - 電子郵件不發送超過100 KB附件

「無法實例化郵件功能」。

它適用於小於100 KB的附件。似乎在服務器上可能會有一些大小限制。如果是這種情況,那麼在哪裏檢查?

我使用Windows服務器,具體設置如下在PHP郵件

$mail = new PHPMailer(); 
    $mail->isMail(); 
    $mail->isHTML(true); 
    $mail->Host = 'localhost'; 
    $mail->SMTPAuth = false; 
    $mail->AddAddress('[email protected]', 'John Doe'); 
    $mail->SetFrom('[email protected]', '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

有一些方法。按照上述任何你的幫助 -

方法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 
+0

感謝您reply..I是在Windows服務器和我曾嘗試方法2:重新編輯的php.ini – Mangesh

+0

檢查!我更新了答案。如果沒有這些工作,你必須聯繫你的服務器管理員。 – abmmhasan

+0

最後,我不得不聯繫服務器管理員來增加附件大小。 – Mangesh