SORU
30 Kasım 2010, Salı


Geliştirme ortamında Raylar ile posta gönderme 3

Bu daha önce defalarca sorulmuştur eminim ama tekrar soruyorum bana uyan bir şey bulamıyorum!

Ben sadece 3 e-posta raylar ActionMailer kullanarak göndermek için bir yol gerekir. Bu Railscasts yeni ActionMailer öğretici de dahil olmak üzere çok sayıda öğreticiler takip ettim ve postalar oluşturulan görüyorum ama alamıyorum.

Farklı şekillerde bir sürü denedim ama onlar genellikle aşağıdaki ayarları yapılandırmak için tutar

ActionMailer::Base.delivery_method = :smtp

ActionMailer::Base.smtp_settings = {
  :address              => "smtp.gmail.com",
  :port                 => "587",
  :domain               => "gmail.com",
  :user_name            => "xxx@gmail.com",
  :password             => "yyy",
  :authentication       => "plain",
  :enable_starttls_auto => true
}

Yukarıdaki kodu (geçerli bir gmail ile ders detayları) config/benim ortamda denedim.rb config/ortamlar/geliştirme.rb ve şu anda/setup_mail initialisers/kendi initialiser kendi yapılandırma dosyası içinde var.rb

Ayrıca Gmail ve Sendgrid dahil olmak üzere birkaç farklı smtp sunucuları ile çalışmış, smtp ayarlarını buna göre ama hala bir şey yok ayarlama var. Terminal posta görebiliyorum ve geliştirme günlüğü.

Herkes ActionMailer için kurulum çalışmaları için gereken kaçırmış olabilir herhangi bir diğer yakaladım olduğunu biliyor mu? Bu başarısız orada postalar gönderiliyor değil neden hakkında daha fazla bilgi almanın bir yolu var mı? Var

config.action_mailer.raise_delivery_errors = true

benim config/geliştirme ayarlayın.rb ama gelişim günlüğü hala görüyorum aynı terminalde gösterir.

Ne olursa, herhangi bir özel kurulum için gerekli diye Ubuntu 10.04 bir laptop geliştiriyorum.

Çok teşekkürler

CEVAP
7 Aralık 2010, Salı


Peki bu sorun çözülecek, ama bu işleri ve diğer yöntemler mi pek bilmiyorum.

Çözümü config/initialisers bir initialiser/setup_mail yaratmaktı.rb aşağıdakileri içeren

if Rails.env != 'test'
  email_settings = YAML::load(File.open("#{Rails.root.to_s}/config/email.yml"))
  ActionMailer::Base.smtp_settings = email_settings[Rails.env] unless email_settings[Rails.env].nil?
end

Ben o zaman config/e-posta ekledi.yml dev ve üretim e-posta hesap bilgilerini içeren

development:
  :address: smtp.gmail.com
  :port: 587
  :authentication: plain
  :user_name: xxx
  :password: yyy
  :enable_starttls_auto: true
production:
  :address: smtp.gmail.com
  :port: 587
  :authentication: plain
  :user_name: xxx
  :password: yyy
  :enable_starttls_auto: true

Dediğim gibi, nedenini bilmiyorum, ama bu hile yapmak gibiydi. Teşekkürler tavsiyeler için

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FamilyFeud

    FamilyFeud

    22 AĞUSTOS 2006
  • joshsnice

    joshsnice

    28 Kasım 2006
  • Michael Zhang

    Michael Zhan

    8 EYLÜL 2012