정크 마케팅의 경멸을 제쳐두고 고객에게 약 15,000 건의 이메일을 보내야합니다. 내 동료가 PHP 메일 루프를 통해 그들을 보내려고했지만 분명히 빨리 붙어옵니다. 이 작업을 신속하게 완료하기 위해 기존의 PHP 스크립트를 사용하고 있습니까? 그렇지 않다면, 나는 오버 헤드없이 너무 많이하지 말고 (어쩌면 exec
을 통해) 어떻게 할 것을 제안합니까?PHP : 엄청난 양의 이메일을 일괄 적으로 보내십시오.
감사합니다.
정크 마케팅의 경멸을 제쳐두고 고객에게 약 15,000 건의 이메일을 보내야합니다. 내 동료가 PHP 메일 루프를 통해 그들을 보내려고했지만 분명히 빨리 붙어옵니다. 이 작업을 신속하게 완료하기 위해 기존의 PHP 스크립트를 사용하고 있습니까? 그렇지 않다면, 나는 오버 헤드없이 너무 많이하지 말고 (어쩌면 exec
을 통해) 어떻게 할 것을 제안합니까?PHP : 엄청난 양의 이메일을 일괄 적으로 보내십시오.
감사합니다.
PEAR의 Mail_Queue을 사용하여 한 번에 200,000 개 이상의 메일을 대기열에 올려 놓았습니다. 데이터베이스를 채우는 것은 사용자 정의 된 컨텐츠로도 쉽고 빠릅니다. 그리고 나서로드 평균이 너무 높지 않으면 상당히 간단한 스크립트가 약 250 개의 시간을 보냅니다. 그런 다음 루프를 돌리고 다음 배치를 전송합니다.
일반적으로 가능한 것보다 빨리 보내지는 않으나 문제없이 수행 할 것입니다.
tutorial은 거의 모든 것을 제공합니다. 데이터베이스 큐가 비워 질 때까지 'send_messages.php'스크립트 (명령 줄에서 더 좋음)를 반복하면됩니다.
고맙습니다. – Gal
CGI 또는 명령 줄에서 스크립트로 실행하고 있습니까? 명령 줄에서 스크립트로 실행하는 것이 가장 좋습니다.
막혔다 고 말하면 set_time_limit(0);
을 실행하여 PHP 실행이 너무 길어지는 것을 막으십시오.
두 가지 해결책을 찾고 있습니다. 설정 시간 제한은 모두 보내려면 너무 오래 걸립니다. 명령 줄에서 어떤 스크립트를 사용해야합니까? – Gal
아무 것도 변경할 필요가 없습니다. PHP 스크립트는 명령 행에서 실행될 수 있습니다. –
즉석 배달을 구현하는 방법과 상관없이 항상 긴 시간이 걸리므로 중단이 발생할 수 있으며 배달을 다시 시작하고 5,000 명의 고객에게 동일한 메시지를 두 번 보낼 수는 없습니다.
신뢰할 수있는 시스템에서는 대기열을 사용해야한다고 생각합니다. 기본 스크립트는 단순히 수신자를 대기열에 추가 한 다음 대기열에서 항목을 선택하고 전송 한 다음 마지막으로 전송으로 표시하는 보조 프로세스를 갖습니다. 이 보조 프로세스는 수동으로 (명령 줄에서) 또는 cron 탭을 통해 시작할 수 있습니다.
내가 사용한 적이하지만 난 내 북마크이 있습니다 http://ledscripts.com/free/php/phpledmailer
당신은 here을 권장하는 큐 시스템을 만들 Gearman 같은 것을 사용하여 볼 수 있었다. 또 다른 옵션은 유료 서비스를 보는 것입니다. Amazon's Simple Email Service (SES)
스위프트 메일러? http://swiftmailer.org/ – lam3r4370