우리 앱의 메일 전달을 어떻게 보장하나요?

우리 앱의 메일 전달을 어떻게 보장하나요?

지원 및 도움말 티켓에 사용되는 Rails 앱이 있습니다.

고객이 요청을 제출하면 확인 이메일을 보냅니다. 또한 당사가 요청에 응답하면 이메일을 보냅니다. 메일은 받지 않습니다.

지난 주 동안 고객 중 25% 이상이 답변을 받지 못했습니다. 그들은 우리가 그들의 티켓에 응답하지 않는다고 생각합니다(실제로는 응답하고 있지만).

내 @yahoo.com 계정으로 테스트를 했는데 mail.log 파일에서 다음을 발견했습니다.

Jul  9 16:11:45 bighelp postfix/smtp[9051]: BF673324365: host b.mx.mail.yahoo.com[66.196.97.250] said: 451 Message temporarily deferred - [140] (in reply to end of DATA command)
Jul  9 16:11:45 bighelp postfix/smtp[9051]: BF673324365: to=<[email protected]>, relay=d.mx.mail.yahoo.com[68.142.202.247]:25, delay=0.73, delays=0.02/0.02/0.64/0.05, dsn=4.0.$

Yahoo가 아닌 다른 주소에서도 이 문제가 발생합니다.

Rails 앱은 Ubuntu에서 실행 중이며 다음을 통해 전송됩니다.

ActionMailer::Base.delivery_method = :sendmail

서버가 오픈 릴레이가 아닌지 확인했습니다.

대부분의 이메일이 제대로 전달되도록 하려면 또 어떻게 해야 합니까?

답변1

이 메시지는 종종 그레이리스팅과 관련이 있습니다(특히 어느 시점에서 모든 사람에게 그렇게 하는 것처럼 보이는 Yahoo의 경우). 기본적으로 메일 서버는 첫 번째 메일을 일시적으로 연기하며, 합법적인 이메일 서버는 이 메시지를 보고 일정 기간 기다린 후 다시 시도합니다. 스팸을 보내는 서버는 대량의 메일을 보내고 잊어버리도록 설정되어 있는 경우가 많습니다. 따라서 다시는 시도하지 않으므로 스팸이 삭제됩니다.

그레이리스팅을 완료하려면 메일 서버가 연기 후 다시 시도하도록 설정되어 있는지 확인하고 적절한 시간 창을 제공하십시오. 일반적으로 10~20분이면 충분합니다.

답변2

다른 메일 서버에서 임시 오류가 발생하는 것은 전혀 이상한 일이 아닙니다. 당신은 이런 일이 때때로 일어날 것이라고 예상해야합니다.

나는 대부분의 이메일 제공업체(면책조항: 저는 ONE에서만 일합니다)가 "나쁜 평판" 발신자에 대해 더 자주 실패할 것이라고 생각합니다. 이는 깨끗한 메일을 위한 리소스의 우선순위를 선택적으로 지정하기 위해 수행됩니다. 귀하의 서버가 IP 주소의 평판이 좋지 않은 경우 이는 메시지가 귀하의 응용 프로그램에서 보낸 스팸으로 분류되거나 동일한 IP 주소에서 보낸 다른 것으로 분류되었음을 의미할 수 있습니다.

메일 대기열을 확실히 모니터링해야 합니다. 개별 배송에 대한 감사를 수행하여 추적할 수 있도록 해야 합니다.

배달 대기 중인 메시지가 많이 보이면 이는 수신자의 메일 서버에 어떤 종류의 결함이 있거나 어떤 방식으로든 메일을 블랙리스트에 올리거나 우선 순위를 낮추고 있음을 나타냅니다.

이러한 작업을 수행하는 정확한 방법은 응용 프로그램마다 다릅니다.

이 특별한 경우에는 Yahoo 지원팀에 문의해야 합니다. 단, 스팸을 보내는 것이 확실하지 않다고 생각해야 합니다(같은 IP의 다른 사람도 마찬가지입니다).

답변3

여기에는 두 가지 문제가 있는 것 같습니다.

  1. 현재 메일 시스템에 무슨 일이 일어나고 있나요?
  2. 앞으로 문제가 다시 발생하지 않도록 하는 방법

WRT #1, 다음 사항을 확인하겠습니다.

  1. 메일을 받도록 서버를 설정하겠습니다. 반송 메일을 수신할 수 없고 브로드캐스트만 가능한 것처럼 보이는 시스템은 종종 스팸으로 표시될 수 있습니다.
  2. MX 레코드를 확인하고 블랙리스트에 있는지도 확인하세요.mxtoolbox.com
  3. RDNS 레코드를 확인하세요.www.dnscolos.com.
  4. 메일 서버에 DomainKeys를 추가하겠습니다.
  5. SPF 레코드를 추가하는 것이 좋습니다. '스팸' 점수를 낮출 수 있으며 스팸 호스트가 귀하의 도메인에서 메일을 보내는 척하는 것을 방지할 수 있습니다.
  6. 다음으로 이메일 보내기[이메일 보호됨]. 그들은 다양한 스팸 검사가 포함된 보고서로 회신할 것입니다.

WRT #2, 투명한 gif 또는 이메일에 특별히 표시된 로고를 포함하여 '집으로 전화'하여 서버로 돌아갈 것을 제안합니다. 예, 이는 HTML 이메일을 보내야 함을 의미합니다. 예, 일부 고객은 기본적으로 이메일의 이미지 검색을 차단합니다. 그러나 정상적인 응답률을 빠르게 확인하고 응답률이 떨어졌는지 감지할 수 있습니다. 가치가 높은 고객이 있는데 고객이 귀하의 응답을 받지 못했다고 판단되면 적극적으로 전화를 걸 수 있습니다.

답변4

또한 메일 서버가 자신을 올바르게 식별하는지(mail.yourapp.com 등) 확인하고 해당 IP를 해당 이름에 연결하는 PTR 레코드가 있는지 확인해야 합니다.

또한 해당 IP/서버가 도메인에 메일을 보내도록 허용하는 SPF 레코드를 추가할 수 있으므로 최소한 SPF:Pass도 얻을 수 있습니다.

관련 정보