Bir raylar 4 app var. ActionMailer'i kurdum ve localhost ve gmail ile sipariş onay e-postaları gönderebiliyorum.Sendgrid Rails 4 üzerine kurun.
Sendurana Heroku'ya kurdum ve kurulum talimatlarını takip ettim. Ben Net::SMTPSyntaxError (501 Syntax error
benim environment.rb (i application.yml içinde sendgrid kullanıcı/şifre var) production.rb içinde
ActionMailer::Base.smtp_settings = {
:address => 'smtp.sendgrid.net',
:port => '587',
:authentication => :plain,
:user_name => ENV['SENDGRID_USERNAME'],
:password => ENV['SENDGRID_PASSWORD'],
:domain => 'heroku.com',
:enable_starttls_auto => true
}
olsun - Ben sadece actionamailer ayar budur. Bunu, daha sonra gerçek alanı koymak için bir yer tutucu olarak sahibim. Şu anda herokuapp.com kullanıyorum. Sipariş oluşturma yöntemimdeki orders_controller adımında
AutoNotifier.orderconf_email(current_user, @order).deliver
auto_notifier.rb
class AutoNotifier < ActionMailer::Base
default from: "Test Email"
def orderconf_email(current_user, order)
@buyer = current_user
@order = order
mail(to: @buyer.email, subject: 'Thank you for your order.')
end
end
ben eksik? Gmail ile localhost üzerinde çalışır, bu yüzden sendgrid ayarlarında veya production.rb dosyasındaki default_url öğesinde bir şey eksik.
Üretimde hangi yığını kullanıyorsunuz? ENV'nin heroku konfigürasyonunda var mı? Heroku otomatik olarak ENV'leri Bambu yığına eklediğinden, Sedir'in üzerine, onları bildiğim kadar elle eklemelisiniz. –
Cedar'dayım. Evet, ben heroku config çalıştırdığımda sendgrid kullanıcı/pwd görüyorum. – Moosa
production.rb da konaklamayı bla-bla-bla.herokuapp.com sitesine dönüştürmeyi deneyin. Aslında, production.rb dosyasında config.action_mailer ... satırı yok ve SendGrid tamam çalışıyor. –