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
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
Javascript ile e-posta gönderme...
E-posta gönderme .Gmail üzerinden NET...
Python SMTP kullanarak posta gönderme...
Gönderme HTML e-posta kullanarak Pytho...
iTextSharp - Gönderme-bellek pdf E-pos...