1
我正在嘗試向我的客戶發送2K封電子郵件。我正在使用Amazon SES通過this庫發送電子郵件。當我嘗試使用附件發送電子郵件時,出現SimpleEmailService::sendEmail(): 35 Process open FD table is full
錯誤。我只是按照自述文件中給出的指示進行操作。僅更改憑據。任何幫助將不勝感激... :)FD表使用SES發送電子郵件時發生完整錯誤
編輯
近900封電子郵件,附件發送成功。但之後,它開始拋出錯誤。
附件是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();
}
}
*「服務團隊說你發送郵件後沒有關閉文件描述符。」*可能。您是否向每個收件人發送相同的PDF文件,或者您是單獨生成它們並將它們郵寄到一個循環中?顯示一些代碼? –
@ Michael-sqlbot更新了問題 – Curious