2017-09-22 1 views
1

私は2Kのメールをお客様に送信しようとしています。 Amazon SESを使用してthisライブラリを使用して電子メールを送信しています。添付ファイル付きのメールを送信しようとすると、SimpleEmailService::sendEmail(): 35 Process open FD table is fullエラーが発生します。私はちょうどreadmeファイルで与えられた指示に従った。変更された資格情報のみ。すべてのヘルプは、添付ファイル付きのほぼ900電子メールが正常に送信され:) ...FDテーブルは、SESを使用して電子メールを送信する際に完全なエラーです。

編集を理解されるであろう。しかしその後、それはエラーを投げ始めます。

添付ファイルはPDF形式です。

編集2

サービスチームは、あなたがメールを送信した後、ファイルディスクリプタをクローズされていないことを言います。ジョブが完了したら、ファイル記述子を閉じる必要があります。そのように割り当てられたFDの数に設定された制限を使い果たすことはありません

私が試しているコードはここにあります。

$mails = [ 
'[email protected]' 
... 
... 
... 
]; 

$ses = new SimpleEmailService('XXXXXXX', 'XXXXXXX'); 
$ses->enableVerifyPeer(false); 
$m = new SimpleEmailServiceMessage(); 

foreach ($mails as $email) { 
    try { 
     $m->setFrom('From <[email protected]>'); 
     $m->setSubject('Subject'); 
     $m->setMessageFromString('','<p>This is the test email.</p>'); 
     $m->addTo($email); 
     $atch = path to pdf; 
     $mime_type = @mime_content_type($atch); 
     $tmp = str_replace('\\','/', $atch); 
     $file_name = basename($tmp); 
     $m->addAttachmentFromFile($file_name, $atch, $mime_type); 
     $response = $ses->sendEmail($m,false,true); 
     $m->clearRecipients(); 
     $m->attachments = []; 
    } catch (Exception $ex) { 
     echo $ex->getMessage(); 
    } 
} 
+0

* "サービスチームは、あなたがメールを送信した後でファイル記述子を閉じることはないと言います。それぞれの受信者に同じPDFファイルを送信しているのですか、個別に作成してメールを送っていますか?いくつかのコードを表示しますか? –

+0

@ Michael-sqlbot質問を更新しました – Curious

答えて

1

だけ$ses->enableVerifyPeer(false);$ses->setBulkMode(true);を追加

を解決しました。 .. :)

関連する問題