2011-12-07 2 views
1

난 레일 프로젝트 작업 중이며 메일 시스템이 어떻게 작동하는지 알 수 없다.Actionmailer는 설정을 정의하지 않고 어떻게 작동합니까?

프로덕션 서버에는 postfix가 설치되어 있으므로 전자 메일을 보내는 방법을 가정합니다 (실제로 헤더는 전자 메일을 보내는 postfix 임). 그러나 config> environment> production.rb 아래의 응용 프로그램에서는 메일을 보내는 방법을 정의하는 것이 없습니다. smtp 설정이 없으며 sendmail이나 postfix를 사용한다고 말하는 것은 없지만 메일이 배달되고 있습니다. 그렇다면 프로덕션 서버는 포스트 픽스를 어떻게 사용하는지 알고 있습니까? 나는 개발 서버가 센드 메일을 사용하고 있기 때문에 물을 것인데,이 일을하기 위해 무엇인가를 바꿀 필요가 있거나 상자 밖에서 작동해야 하는가?

답변

2

좋아, 그래서 내가 뭘 잘못 알아 냈어, 내 대답은 충분하지 않다고 생각하거나 의견이 있으시면 언제든지 말씀해주십시오!

here에서 "배달 기본값은 포트 25에서 로컬 호스트에서 실행중인 SMTP 서버로 지정됩니다." 그래서 내 프로덕션 서버에서 postfix가 설치 되었기 때문에 작동했습니다. 내가 혼란스럽게 생각한 곳은 스테이징이었는데 왜 센드 메일이 작동하지 않았는가. 나는 sendmail이 설치되었다고 생각했다. 내가 which sendmail을 타이핑했을 때 나는 결과를 얻었고 sendmail이라고 가정했으나 telnet <myhostname> 25을 실행했을 때 나는 Exim 4.71을 얻었습니다! 따라서 새로운 가정은 sendmail이 설치되었지만 포트 25에서 설정되거나 설정되지 않았기 때문에 exim은 메일을 처리합니다.

나는 이것을 아마존 ec2에서 사용하고 있는데, 나는 그 인스턴스를 설치했을 때, 리눅스 이후로, 내가 생산 단계에서 가지고있는 것처럼 메일 서버를 준비 할 수 있다고 가정했다. 분명히 그것은 좋은 가정이 아니었고 이제는 제 찌르기를 올바르게 구성했습니다. 이미 거기에서부터 준비를 위해 exim을 사용하려고 시도 할 것입니다.