Với trang web đường ray của tôi, khi tôi cố gắng gửi thư qua Gmail, nó hoạt động hoàn hảo. Nhưng khi tôi cố gắng gửi nó qua MandrillApp, nó mang lại cho các lỗi sau (RController.create là nơi cung cấp lệnh được gọi là):Rails Mailer Net :: SMTPServerBusy
Net::SMTPServerBusy in RController#create
454 4.7.1 <[email protected]>: Relay access denied
Dưới đây là config/môi trường/development.rb tập tin của tôi:
# ActionMailer Config
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.default :charset => "utf-8"
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
# config.action_mailer.smtp_settings = {
# :address => "smtp.gmail.com",
# :port => 587,
# :domain => 'gmail.com',
# :user_name => '[email protected]',
# :password => 'password',
# :authentication => 'plain',
# :enable_starttls_auto => true }
config.action_mailer.smtp_settings = {
:address => "smtp.mandrillapp.com",
:port => 587,
:user_name => ENV["EMAIL"],
:password => ENV["PASSWORD"]
}
Vì nó ở trên, mã không hoạt động - Tôi không nhận được email và không có lỗi nào xuất hiện. Nếu tôi chuyển sang gửi nó từ Gmail, tôi nhận được email gần như ngay lập tức. Tôi chưa bao giờ làm việc với Mandrill trước đây, vì vậy bất kỳ trợ giúp nào cũng sẽ được đánh giá cao.
Cảm ơn điều này đã làm việc cho tôi. Bạn nên chấp nhận câu trả lời của riêng bạn. Tôi phải loại bỏ 'ENV' và' [] 'như' "EMAIL" '. – LearningRoR
Bạn có thể làm rõ giải pháp của mình không? Tôi hiện có dòng này trong smtp_settings của tôi -: password => ENV ['MANDRILL_API_KEY']. Theo giải pháp của bạn, dòng này nên đọc như thế nào? – ajporterfield
Nếu bạn định nghĩa MANDRILL_API_KEY là biến chương trình, thay vì biến môi trường, thì bạn chỉ cần: 'password => MANDRILL_API_KEY', thay vì' password => ENV ['MANDRILL_API_KEY'] '. Biến môi trường an toàn hơn, vì khóa API của bạn sẽ được lưu trữ trên máy tính/máy chủ thay vì trong trang web của bạn (về cơ bản, ai đó có thể giữ mã của bạn và vẫn không thể lấy khóa của bạn), nhưng biến thông thường dễ thực hiện hơn - phụ thuộc vào mức độ liên quan của bạn với bảo mật (mặc dù, đúng, bạn nên thực hiện biến môi trường). – camdroid