2017-05-23 3 views
0

나는 Drupal 웹 사이트를 가지고 있으며 사용자 지정 모듈에 사용자 지정 메뉴를 만들었습니다.백 메일 프로세스에서 많은 양의 전자 메일을 보내는 방법

다른 이메일 인사말 라인을 사용하여 10000 명의 사용자에게 이메일을 보내야합니다. 각 사용자 프로필 정보를 가져온 다음 각 사용자에게 전자 메일을 보냅니다.

그러나 문제는 요청을 완료하는 데 많은 시간이 걸리는 경우가 있는데, 요청 시간 제한 오류가 발생하는 경우가 있습니다.

그래서 몇 초 내에 응답을 얻을 수있는 이러한 종류의 기능이 필요하며 모든 이메일은 백그라운드 프로세스에서 실행됩니다.

아이디어가 있으십니까?

+0

mailchimp와 같은 외부 서비스 사용에 대해 생각해보십시오. 나는 당신의 IP 주소가 너무 많은 이메일을 보낸 후에 나열된 검은 색이 될 것입니다 ... – MilanG

답변

0

서버에서 매 3/5/7 등 분마다 실행되는 cron을 설정해야합니다. 그런 다음 각 실행에서 중복을 줄이기 위해 설정된 플래그를 가진 사용자 중 100, 200, 500 명의 사용자에게 이메일을 보낼 수 있습니다. 서버 실행 시간에 따라 사용자 수를 선택할 수 있습니다. 그러나, 나는 500을 시작하는 것이 좋다고 생각하고 모든 10k 이메일을 보내기 위해 단지 20 cron 실행을 취할 것입니다.

그리고/또는 mailchimp, sendgrid 등과 같은 제 3 자 서비스를 사용하여 전자 메일을 예약 할 수 있습니다.

희망이 도움이 될 것입니다!

+0

하지만 나는 그 링크를 클릭 할 때 메뉴 링크가 있으므로 cron-job없이 수동으로이 이메일을 보내려고합니다. 이메일을 –

+0

보내 주시면 Drupal https://www.drupal.org/docs/7/api/batch-api/overview에서 제공하는 일괄 처리 API를 사용하여 일괄 처리를 사용해야합니다. – Anurag

+0

보기 : "양식 처리가 여러 페이지 요청에 걸쳐 펼쳐지도록 허용하는 기능으로, PHP 타임 아웃으로 인해 처리가 중단되지 않고 사용자가 진행중인 작업 진행에 대한 피드백을받을 수 있습니다." – Anurag

관련 문제