테스트 애플리케이션을 개발 중이며 모든 것을 내 PC에서 실행하고 있습니다. 회사 메일 서버를 사용하여 메일을 보내고 있습니다. 정상적으로 잘 작동합니다. 나는 메일 서버가 내 PC에서 접근 할 수없는 것과 같은 어떤 조건을 처리하는 방법을 궁금해했다. 필자가 그것에 대해 읽었을 때, 레일 어플리케이션은 메일을 보낸다. 메일이 수신자에게 도착했는지, 수신자 메일 ID가 맞는지 등을 알 수있는 방법이 없습니다. 이 시나리오를 처리하는 방법에 대한 의견이 있으십니까? 감사합니다 및 감사합니다, Anjalirails 또는 actionmailer에서 상태를 보냈습니다.
답변
두 가지 문제를 함께 섞어서 사용한다고 생각합니다. 실제로는 전혀 관련이 없습니다.
첫 번째 문제 - 회사 메일 서버 (이 경우 메일 릴레이)에서 전자 메일을 수락했는지 확인하는 것이 첫 번째 문제입니다. 이 문제를 해결하기 위해 로컬 큐 (데이터베이스, 큐 서버 등)를 빌드하고 별도의 작업자 프로세스로 보내면 큐에서 각 메시지를 가져 와서 전달하고 삭제합니다. 메일 릴레이에 의해 승인 된 경우에만.
프로세스의 저수준 수동 제어가 필요하지 않은 경우 간단한 로컬 메일 서버를 컴퓨터에 설치하고 회사 메일 릴레이로 직접 전자 메일을 보내는 경우에는 로컬 메일 서버. 그러면 이메일이 회사에 제대로 전달되었는지 확인합니다.
그러나 두 경우 모두 당신이 메시지가 최종 수신자에게 전달 된 위치에 대한 정보를받지 않습니다 - 전자 메일 주소가 유효 여부, 사용자의 사서함이 가득 아니었다 등을 등
두 번째 문제 - 메일 배달 오류를 추적합니다.이 문제를 적절하고 완벽하게 해결하려면 원격 서버에서 반송 된 모든 메일을 캐치하고 분석해야합니다. 전자 메일을 보낼 때 알 수없는 많은 오류가 있지만 나중에 메일 형식으로 반환됩니다 튀어 오릅니다. 이 바운스를 잡아서 추적하면 가득 차있는 편지함, 잘못된 이메일, 일시적인 배달 실패 등의 오류를 잡을 수 있습니다.
메일 목록 관리 소프트웨어에서 수행되는 방식입니다. 예를 들어 phpList는 정확히 같은 방식으로.
나는이 문제에 대해 생각했다. 내 생각은 "mailqueue"라는 별도의 모델에 메시지를 저장 한 다음 기업 메일 서버를 사용할 수있는 경우에만 해당 메일 대기열에서 메시지를 가져오고 삭제하는 루비 스크립트를 실행하는 것입니다 (이미이 코드를 가지고 있으며, 나는 믿는다). 물론, 더 좋은 방법이 있다면, 나는 그것을 환영 할 것입니다.
- 1. 이메일을 보냈습니다.
- 2. Rails 3.0.3 ActionMailer에서 mail() 메소드를 사용할 때 NoMethod 오류
- 3. 상태를 404 또는 200으로 보내야합니까?
- 4. 메모를 텍스트로 보냈습니다
- 5. ActionMailer에서 사용하는 템플릿을 어떻게 구성합니까?
- 6. ActionMailer에서 보낸 이메일에 인라인 이미지를 첨부하려면 어떻게해야합니까?
- 7. ActionMailer에서 서명 한 이메일을 보내려면 어떻게해야합니까?
- 8. jQuery-Rails 또는 jRails?
- 9. Rails 또는 Jquery WYSIWYG
- 10. SQL : 나는 그들의 최신 보냈습니다 메시지와 시간
- 11. Internet Explorer가 나는이 문제에 동안을 보냈습니다,
- 12. 누군가 내게 풀 요청을 보냈습니다. 어떻게해야합니까?
- 13. UIViewController에서 인스턴스에 인식 할 수없는 선택기를 보냈습니다
- 14. ActionMailer에서 보낸 이메일은 메일을 전송하는 데 6 시간이 걸립니다.
- 15. Qt에서 QMutex 또는 QReadWriteLock의 상태를 어떻게 쿼리합니까?
- 16. UIImage 또는 UIImageView의 상태를 저장하려면 어떻게해야합니까?
- 17. Django 또는 Ruby on Rails
- 18. Ruby Gem 또는 Rails 플러그인
- 19. Ruby on Rails 또는 .NET?
- 20. Rails 앱에서 Memcache 상태를 어떻게 알 수 있습니까?
- 21. Apple iOS : Howto가 'Eject Key'를 텍스트 입력 시스템에 보냈습니다.
- 22. Rails 또는 Ruby에서 json 또는 xml 웹 서비스를 어떻게 사용합니까?
- 23. 웹 서비스 : PHP 또는 Ruby on Rails 또는 Python?
- 24. MongoDB 또는 MySQL 또는 둘 다 Rails App에서
- 25. rails app (또는 대안)에서 vote_fu 구현
- 26. Rails 3 용 플러그인 또는 보석을 만드시겠습니까?
- 27. Rails - true 또는 false를 반환하는 메서드
- 28. FedEx 또는 UPS를 Rails 응용 프로그램에 통합해야합니까?
- 29. 로그인 또는 등록 (Ruby on rails)
- 30. Rails + Postgis with spatial_adapter 또는 postgis_adapter gem?
물론입니다. 이 작업을 직접 수행 할 필요는 없습니다. 이미 많은 메일 대기열이 있습니다. 모든 중요하지 않은 SMTP 서버는 다음과 같은 작업을 수행합니다. – radiospiel
충분합니다. 확실히 그 길로 가야합니다. 비록 어떤 이유로 든 제가 위에 언급 한 이유가 있습니다. . . – Rilindo
걱정할 필요가 없습니다. 우리는 최근 직장에서 토론을 가졌습니다. 누군가가 이메일을 보관할 수 있도록 대기열을 구현하여 나중에 전송할 수 있도록 제안했을 때였습니다. 메일을 생성하는 것이 문제가된다면 (예를 들어, 모델을 최종 이메일로 변환하기위한 코드), 대기열은 확실히 * 길일 것입니다. 사람들은 종종 delayedjob 또는 resque를 사용합니다.) – radiospiel