Rails 콘솔에서 이메일 보내기
프로덕션 서버의 콘솔에서 일부 메일을 보내려고하는데 메일이 나가지 않습니다. 이유를 알 수 없습니다. sendmail로 표준 이메일 설정이 있습니다. Mailer.deliver_ 메서드를 호출하면 다음과 같이 돌아옵니다.
#<TMail::Mail port=#<TMail::StringPort:id=0x3fe1c205dbcc> bodyport=#<TMail::StringPort:id=0x3fe1c2059e00>>
편집 : 추가 정보 :
예를 들어, 새 사용자가 등록 할 때 컨트롤러에 "환영"이메일을 보내기 위해 다음 줄이 있습니다.
Mailer.deliver_signup(@user, request.host_with_port, params[:user][:password])
이것은 잘 작동합니다. 콘솔에서도 똑같은 일을 할 수 있어야한다고 생각했습니다.
user = User.find(1)
Mailer.deliver_signup(user, "mydomainname.com", "password")
이 작업을 수행하면 Tmail :: StringPort 개체를 다시 가져 오지만 메일이 전송되지 않는 것 같습니다 (이를 테스트하기 위해 자신에게 이메일을 보내려고합니다).
도움이 될 경우를 대비하여 우분투 서버에 있습니다. 감사합니다-최대
Rails Console에서 이메일을 보내기 위해서는 먼저 액션 메일러 설정을 위해 콘솔에서이 설정을 실행해야합니다.
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'gmail.com',
authentication: 'plain',
enable_starttls_auto: true,
user_name: 'your@gmail.com',
password: 'yourpassword'
}
그 후 이메일 발송 코드를 실행하면 이메일을 발송합니다.
UserMailer.activation_instructions(@user).deliver_now
더 빠른 버전 :
ActionMailer::Base.mail(
from: "test@example.co",
to: "valid.recipient@domain.com",
subject: "Test",
body: "Test"
).deliver_now
오늘 아침에 내가 전화 한 Rails 3 앱에서 비슷한 문제가 발생했습니다.
UserMailer.activation_instructions(@user)
이것은 나에게 데이터를 줬지만 이메일을 보내지 않았습니다. 보내려면 다음과 같이 전화했습니다.
UserMailer.activation_instructions(@user).deliver
이것은 트릭을했다. 바라건대 이것은 당신에게도 효과가있을 것입니다!
당신이하려는 일을 이해한다면 나는 100 %가 아닙니다.
인터넷으로 전자 메일을 보내려는 경우 해당 전자 메일을 적절한 전자 메일 서버로 전달하는 방식으로 sendmail을 구성해야합니다. 사용하는 Ubuntu 릴리스에 따라 패키지를 재구성하여이를 수행 할 수 있습니다.
sendmail 대신 procmail을 사용하려는 경우에도 생각할 수 있습니다.
다음을 사용하여 전자 메일 구성을 재구성 할 수 있습니다.
dpkg-reconfigure sendmail
of use procmail instead if you use that package. The configuration dialogue gives you some option where you can configure it to forward all mail to the appropriate e-mail server. However, you need to think if you need authentication or if that server just accepts e-mails from your server.
ReferenceURL : https://stackoverflow.com/questions/3267213/send-email-from-rails-console
'IT Share you' 카테고리의 다른 글
FormData (HTML5 Object)를 JSON으로 변환하는 방법 (0) | 2021.01.09 |
---|---|
Git 치명적 : 프로토콜 'https'가 지원되지 않습니다. (0) | 2021.01.09 |
목록에서 최대 값 가져 오기 (0) | 2021.01.09 |
awk에서 배열의 길이를 어떻게 얻을 수 있습니까? (0) | 2021.01.09 |
Python, OpenCV에서 슬라이싱을 사용하여 이미지에서 영역 추출 (0) | 2021.01.09 |