Rails ActionMailer가있는 RESTFul Authentication 플러그인이 메일을 제공하지 않습니다.

StackOverflow https://stackoverflow.com/questions/1066403

문제

RESTFul 인증 플러그인을 사용하는 Rails 앱에서 작업하고 있습니다. 이메일 확인을 통해 새로운 사용자가 계정을 활성화해야합니다. 이것은 몇 시간 전에 신청서가 갑자기 이메일 배송에 실패하기 시작한 것까지 작동했습니다. 대신 다음 오류 메시지가 표시됩니다.

 undefined method `perform_delivery_SMTP' for #<UserMailer:0x28ec7ac>

나는 이전 개정판으로 되돌아 가서 ActionMailer를 사용하여 새로운 앱을 만들었고, 레일을 다시 설치하고, 모든 플러그인과 보석을 다시 설치했지만 오류는 지속됩니다. 이 오류를 본 사람이 있습니까? Perform_delivery_smtp 메소드를 Usermailer 모델에 추가해야하지만 어떻게 그리고 왜 그런가? 감사.

도움이 되었습니까?

해결책

메일러는 어디에서 구성합니까?

나는 당신의 배달 방법이 다음과 같이 설정되어 있다고 생각합니다.

ActionMailer::Base.delivery_method 'SMTP'

사용 :smtp 'smtp'대신

ActionMailer는 사용한다고 가정합니다 :smtp, :sendmail 또는 :test

그것은 그것을 사용합니다 deliver! 그렇게 같은 방법

__send__("perform_delivery_#{delivery_method}", mail) if perform_deliveries

그것은 언제입니다 delivery_method 'smtp'로 설정되어 전화를 걸려고합니다. perform_delivery_SMTP, 당신이 알았을 때 존재하지 않습니다. 기호를 사용할 때 :smtp 전화 perform_delivery_smtp, 존재합니다.

다른 팁

로컬 서버 (개발 모드)에서 잘 작동하고 생산 모드에서 작동하지 않는 ActionMailer로 어려움을 겪고있는 사람들은 다음 링크를 고려해야합니다.

http://filiptepper.com/2009/02/11/hint-fixing-smtp_tlsrb-for-ruby-187/

그것은 내 문제를 해결하고 다른 사람들에게도 도움이 될 수 있습니다. 기본적으로 문제는“net :: smtp의 check_auth_args는 루비 1.8.7 (개발에 사용하는)과 루비 1.8.6 (준비)에서 다른 인수를 취한다”는 것입니다. 그리고 최악의 것은 Production.log 파일에 오류가 남지 않는다는 것입니다. 실제로 문제인지 확인하기 위해 ActionMailer를 실행하여 스크립트/콘솔에서 이메일을 보내서 잘못된 수의 인수 오류가 발생했습니다…

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top