내 데이터베이스에는 20,000개 이상이 포함되어 있습니다.검증됨이메일 주소. 이는 웹사이트에서 뉴스레터, 업데이트 등을 수신할 수 있는 권한(옵션에 설정된 사용자)이 포함된 사용자의 이메일입니다. 나는 실제로 어떤 목적으로도 이메일 주소를 사용한 적이 없지만 이제는 사용자가 정기적으로(한 달에 한 번 또는 두 달에 한 번) 웹 사이트에서 일부 업데이트를 받기를 원합니다. 제가 궁금한 점은 동일한 이메일을 20,000명의 사용자에게 가능한 한 빨리 보내는 방법과 이 작업을 수행할 때 어떤 제한 사항에 직면할 수 있는지에 대한 것입니다.
Cron 및 PHP 내장 mail() 함수를 사용하여 이 작업을 수행하는 방법에 대한 몇 가지 아이디어가 있지만 한 번에 20K 이메일을 보낼 수 없습니다(해도 될까요?). 또한 이메일이 수신자의 정크/휴지통/스팸 폴더에 들어갈 가능성이 높다는 것을 알고 있지만(괜찮습니다) 대량 이메일 전송을 금지하는 법률이나 제한 사항(호스팅 서비스에서 정의)이 있는지는 확실하지 않습니다.
나에게 필요한 것은 어떻게 할 수 있는지, 그리고 이 작업을 수행하는 가장 좋은 방법은 무엇인지 대답하는 것입니다. 이것은 "해결책 제시" 질문이 아닙니다. 저는 평생 동안 한 번에 5통 이상의 이메일을 보낸 적이 없고 이 질문에 대한 답을 찾을 수 없었기 때문에 몇 가지 팁이 필요합니다. Facebook, Twitter, Youtube와 같은 대규모 서비스가 사용자(아마도 동시에 수백만 명)에게 어떤 정보를 제공하는지 궁금하십니까?
참고: 이 질문을 할 장소가 아니라면 죄송합니다. 게시할 위치(여기 또는 StackOverflow)에 대해 다시 생각했습니다. 그러나 내 문제가 어떻게 보이는지에 따라(코드를 제공하거나 요청하지 않음) 추측해 보세요. SO에서는 "건설적이지 않음" 또는 심지어 "주제에서 벗어남"으로 종료됩니다.
답변1
한 번에 모든 이메일을 보내면 몇 가지 문제에 직면하게 됩니다. 아니면 하나씩.
스팸 차단기
해당 양의 이메일을 보내려면 SPF(일종의 인증서 서명 가능)를 설정해야 하며 정적 IP가 있는 서버를 사용하고 역방향 DNS를 사용하는 것이 좋습니다. 규모가 더 커지기 시작하면 일부 이메일 우체국장에게 직접 연락하여 합법적인 이유와 서류를 제출하여 화이트 리스트에 등록해야 합니다. 우리는 하루에 약 250,000통의 이메일을 보내곤 했습니다. 때로는 구독자에게 한 달에 4번씩 보냈습니다.
우리는 자체 프로그램을 작성했지만 사용 가능한 프로그램이 많이 있습니다.
또한 각 이메일을 반복하여 하나씩 보낼 수도 있습니다. 그런 다음 하이퍼 스레드를 시도하여 .. 결국 도메인으로 분해하고 영리한 프로그래밍을 사용하면 약 1시간 안에 모든 이메일을 보낼 수 있습니다.
행운을 빌어요
답변2
짧은 대답: 고정 IP를 사용하고 DNS를 역방향으로 사용하세요. 보낼 수는 있지만 한 시간 안에 보낼 수는 없습니다. 메일 서버는 짧은 시간 안에 수천 통의 이메일을 좋아하지 않으므로 차단됩니다. 그 모든 메일이 방금 인터넷에 떠오른 메일 서버에서 온다면 더욱 그렇습니다.
긴 답변: 저는 일주일에 한 번 2,000통의 이메일을 보냅니다. 나는 PHP로 된 프로그램을 사용하여 그것들을 보냅니다. 그것은 무료 소프트웨어입니다. 여기서 이름을 지정할 수 있는지 모르므로 언급하지 않겠습니다. 웹사이트는 주황색이며, 목록(뉴스레터)을 관리하기 위해 PHP로 되어 있습니다. 내 서버는 Debian이 포함된 1GB ram xeon 2.4GHZ 4코어이며 postfix를 사용하여 초당 4개의 메일(각각 약 100K)을 보냅니다(모든 보내는 메일은 바이러스 검사를 거침). 따라서 시간당 14,000개가 되어야 합니다. 하나의 도메인에 너무 많은 이메일을 보내는 경우 일부 이메일에는 차단 기능이 있을 수 있습니다. 야후에는 그레이리스팅 같은 것이 있었는데, 임시 거부가 중단될 때까지 3개월 동안 한 번 이상 연락해야 했던 기억이 납니다. 내 ISP는 짧은 시간 동안 너무 많은 연결이 보이면 메일을 거부하므로 postfix에서는 연결을 20에서 10으로 줄였습니다. Gmail이 초당 5,000개의 메일을 보내는 방식에 따르면 debconf(10,11, 12) 개발자 중 한 명이 말했습니다.