자체 SMTP를 호스팅하는 경우, 일반적으로 연관된 문제점에 직면하게 됩니다. Mailgun이나 Sendgrid와 같은 메일 전송 업체는 수신 네트워크에서 서버가 신뢰받고 평판이 좋다고 인식될 수 있도록 다양한 기법을 사용합니다. 이것이 바로 문서에서 자체 호스팅 대신 해당 제품 중 하나를 사용할 것을 권장하는 이유입니다.
정확합니다. 스파이크 형태로만 메시지를 보내더라도, 평판 있는 제3자 메일 전송 서비스는 매시간 수십만 통의 이메일을 제3자 메일함에 안정적으로 전달할 수 있습니다.
불행히도 자체 메일 서버를 운영하려는 경우 도움을 드릴 수 없습니다. 권장 사항을 따르지 않기로 결정하신다면, 이로 인해 발생하는 추가적인 복잡성을 수용하시는 것입니다.
DMARC, SPF, DKIM을 포함한 SMTP 설정은 모두 정상입니다. 저는 2005년부터 자체 SMTP를 사용해 왔습니다. 당시에는 쓸모없는 ‘돈을 버는 기계’ 같은 서비스가 없었습니다. 내일 누군가가 공기 사용에 대해 돈을 받으려 한다고 상상해 보세요…
자, 다시 문제로 돌아가 보겠습니다. 시니어 테스터의 가장 쉬운 방법은 저를 어딘가 또는 유료 서비스로 유도하는 것임을 알고 있습니다. 누군가 Discourse의 치명적인 버그를 수정하는 방법에 대해 도움을 줄 수 있을까요? 여전히 Discourse가 1초 만에 10,000통의 메일을 보내서는 안 된다고 생각합니다. 계정 간 "last_digest_timestamp"를 정규화하는 로테이션 서비스나 이와 유사한 것이 필요합니다.
네, 저는 해당 용량의 10배를 보내는 커뮤니티들과 함께 일하고 있으며, 대규모 커뮤니티를 운영하는 많은 분들이 그 규모 이상으로 운영되고 있습니다.
이메일에 대한 여러분의 요구사항이 대량으로 이메일을 안정적으로 전달하는 프로토콜에 대한 전문 지식을 초과하는 것으로 보입니다. 바로 이것이 트랜잭션 이메일 회사가 존재하는 이유입니다. 여기서는 '빅 이메일’을 홍보하는 사람은 없습니다. 단순히 대량 이메일 전달의 도전 과제일 뿐입니다.
저는 몇 가지 속도 제한(rate limits)을 설정하고 있습니다. 만약 여러분이 이를 무시하더라도, 일반적인 SMTP 서버에는 이미 기본 설정이 되어 있습니다. 요즘 메일 서버는 훨씬 지능적이어서, 메일 발송 사이의 지연 시간을 쉽게 감지할 수 있습니다.
네, 그분들은 이전에 언급했던 서비스를 사용하기 때문입니다. 여전히 그 서비스들과 개인 SMTP 서비스의 차이를 이해하지 못하고 계신 것 같습니다. 그들은 거대한 IP 풀을 사용하며 다양한 발신자를 시뮬레이션합니다. 이는 “강력한” 스팸을 보내는 기업들에게 좋은 기법입니다. 물론, 그들은 이 서비스를 위해 비용을 지불합니다.
Discourse가 스팸을 보내지 않는다면, 사람들이 이러한 "돈 버는 기계"를 Discourse에 사용해야 할 이유가 어디에 있는지 모르겠습니다. 아… 죄송합니다… 버그 때문에 월요일에 1초 동안 10만 건을 보낼 수 있는데, @Stephensays 님이 이것이 TRUE(진실)된 동작이라고 하셨기 때문입니다.
머리 위에 왕관 이 있는 사람들과 대화를 나눌 의미가 없다고 생각합니다. 네, Discourse는 훌륭하며, 여러분의 기여에 진심으로 감사드립니다.
위에서 Discourse 팀이 제공한 답변에 따르면, 그들은 Discourse에서 어떤 문제도 발견하지 못했습니다. 저는 데이터베이스를 직접 해킹하는 다소 어설픈 방식으로 이 문제를 해결했습니다. 제 해결 방법은 다음과 같습니다.
cd /var/discourse
./launcher enter app
rails c
Topic.exec_sql("UPDATE users SET last_emailed_at = now() + interval '30' second * id WHERE last_emailed_at > ('2020-03-14'::date) AND last_emailed_at < ('2020-03-17'::date)")
SQL 쿼리의 last_emailed_at 범위를 업데이트하십시오. 저는 3월 16일에 하루 동안 4,000건의 last_emailed_at 기록이 있었습니다. 따라서 이제 모든 사용자의 기록이 30초 간격으로 3일에 걸쳐 분산되도록 최적화되었습니다.
Discourse는 개인 SMTP 서비스와 함께 사용하도록 설계되지 않았습니다. 명확하게 설명하지 못한 점 죄송합니다. 확실히 작동은 하지만, 정기적인 이메일 활동이 있는 커뮤니티에는 좋은 아이디어가 아닙니다. 이는 이메일 시스템의 한계이며, 우리는 모두 가능한 범위 내에서 이에 대응하고 있습니다.