2009-08-14 2 views
1

전 이메일 정보를 생성하고 보내진 후 이메일을 삭제할 수있는 $mail_queue->put(.....) 옵션을 사용하여 데이터베이스 테이블에 저장하는 cron을 보유하고 있습니다.PEAR/Mail_Queue를 사용하여 10,000 개 이상의 이메일을 보내는 가장 좋은 방법

여기 제가 약간의 도움이 필요한 곳입니다 : 위의 정보를 얻은 후에 이메일을 보내는 가장 좋은 방법은 무엇입니까? $mail_queue->sendMailsInQueue()을 즉시 실행하고 다른 cron 작업 또는 다른 것을 사용하고 있습니까?

중간 서버 제한은 100 이메일/분입니다. 현재 Mail_Queue에 대한 마지막 csv diff가 적용되지 않았으므로 (현재이 작업을 지원하고 있습니다) "지연"옵션을 사용할 수 없습니다.

나는 $seconds_to_send 옵션을 사용할 생각 이었지만 create_time 필드의 기초로 계산되었지만 큰 도움은 아니지만 옵션이기도합니다.

모든 아이디어와 제안은 정말 감사하겠습니다.

+3

사람을 스팸하는 사람입니까? – kokos

+2

@Kokos : 대량 전자 메일에는 정당한 이유가 많이 있습니다. 그가 스팸 메일 발송자가 이미 사용하고있는 많은 시스템 중 하나를 사용하는 대신 새로운 이메일 시스템을 처음부터 작성하는 경우 합리적인 비즈니스 목적을 위해 좋은 돈을 벌 것입니다. –

+0

아니요 - 맞춤 뉴스 레터, 알리미 및 등록 이메일을보다 잘 처리하기 위해이 시스템이 필요합니다. – RRStoyanov

답변

3

개인적으로는 실패 가능성이 적기 때문에 개인적으로는 cron 방식으로 진행합니다. 메일 서버가 응답을 중지하거나 다른 이유로 사용할 수 없게됩니다. 또는 전체 네트워크가 몇 시간 동안 오프라인 상태가 되더라도 서버가 전자 메일을 생성하는 경우를 생각해보십시오. 나는 대기열을 사용한다고 말한다.

지연 문제는 서비스/cronjob에서 60 초마다 대기열을 가져 와서 100 개의 이메일을 보내서 보내고 종료합니다. 전송할 이메일 큐가 생길 수 있지만 어떤 시스템을 선택하든 문제가 발생할 것입니다. 대기열은 어쨌든 사용량이 적은 시간에는 비워집니다.

+0

예, 대기열은 양호하지만 전체 네트워크가 몇 시간 동안 오프라인 상태가되어 여전히 대기열로 이메일을 보내고 있다면 메일 서버에 문제가 생길 수 있습니다 (100 분/분은 괜찮습니다). 어떤 종류의 * 대량 우편물 발송 - 50K 전자 우편은 반나절이 걸릴 것입니다. 그렇습니다. 디스크 공간이 저렴합니다. 비슷한 사건으로 300GB의 여유 공간만으로는 충분하지 않습니다. 즉, 구멍에 있다면 파기를 멈추십시오! 당신은 메일을 보내는 사람입니다. 오프라인 일 때 그들이 어디로 가고있는 것처럼 아닙니다. – Piskvor

0

왜 100 개의 전자 메일을 반복하지 않고 60 초 동안 대기해야합니까? 서버 시간이 필요하지 않으며 스크립트가 조금만 실행됩니다.

2

은 두 개의 스크립트를 사용합니다. 하나는 보내야 할 이메일로 mail_queue 테이블을 채우기위한 것이고 두 번째 스크립트는 90 개의 이메일 덩어리로 이메일을 보내도록하는 것입니다. 두 번째 스크립트가 약 2 분마다 활성화되도록 설정하십시오.

그냥 호스팅 계획을 업그레이드 할 수도 있습니다 .-)