Rails tidak mengirim email di AWS

Saya mencoba mengirim email konfirmasi dari aplikasi Rails saya. Di lingkungan pengembangan saya, ini berfungsi dengan baik (di ubuntu). Namun, saat saya mencoba mengirim email di instans Amazon AWS EC2 saya, email tersebut tidak berfungsi. Saya mendapatkan log kesalahan berikutnya:

BookingRequestEvent.execute
{ 38227580 rufus-scheduler intercepted an error:
  38227580   job:
  38227580     Rufus::Scheduler::EveryJob "60s" {}
  38227580   error:
  38227580     38227580
  38227580     Errno::ECONNREFUSED
  38227580     Connection refused - connect(2)
  38227580       /home/ubuntu/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/net/smtp.rb:541:in `initialize'
  38227580       /home/ubuntu/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/net/smtp.rb:541:in `open'
  38227580       /home/ubuntu/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/net/smtp.rb:541:in `tcp_socket'
  38227580       /home/ubuntu/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/net/smtp.rb:551:in `block in do_start'
  38227580       /home/ubuntu/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/timeout.rb:66:in `timeout'
  38227580       /home/ubuntu/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/net/smtp.rb:550:in `do_start'
  38227580       /home/ubuntu/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/net/smtp.rb:520:in `start'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/mail-2.5.4/lib/mail/network/delivery_methods/smtp.rb:112:in `deliver!'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/mail-2.5.4/lib/mail/message.rb:2129:in `do_delivery'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/mail-2.5.4/lib/mail/message.rb:232:in `block in deliver'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/actionmailer-4.0.0/lib/action_mailer/base.rb:456:in `block in deliver_mail'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/activesupport-4.0.0/lib/active_support/notifications.rb:159:in `block in instrument'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/activesupport-4.0.0/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/activesupport-4.0.0/lib/active_support/notifications.rb:159:in `instrument'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/actionmailer-4.0.0/lib/action_mailer/base.rb:454:in `deliver_mail'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/mail-2.5.4/lib/mail/message.rb:232:in `deliver'
  38227580       /home/ubuntu/apps/yanpyapi/app/models/notification_manager.rb:6:in `notify'
  38227580       /home/ubuntu/apps/yanpyapi/app/models/events/booking_request_event.rb:22:in `execute'
  38227580       /home/ubuntu/apps/yanpyapi/app/models/secretary.rb:85:in `block in executeEvents'
  38227580       /home/ubuntu/apps/yanpyapi/app/models/secretary.rb:20:in `each'
  38227580       /home/ubuntu/apps/yanpyapi/app/models/secretary.rb:20:in `executeEvents'
  38227580       /home/ubuntu/apps/yanpyapi/config/initializers/task_scheduler.rb:8:in `block in <top (required)>'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/rufus-scheduler-3.0.3/lib/rufus/scheduler/jobs.rb:224:in `call'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/rufus-scheduler-3.0.3/lib/rufus/scheduler/jobs.rb:224:in `do_trigger'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/rufus-scheduler-3.0.3/lib/rufus/scheduler/jobs.rb:269:in `block (3 levels) in start_work_thread'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/rufus-scheduler-3.0.3/lib/rufus/scheduler/jobs.rb:272:in `call'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/rufus-scheduler-3.0.3/lib/rufus/scheduler/jobs.rb:272:in `block (2 levels) in start_work_thread'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/rufus-scheduler-3.0.3/lib/rufus/scheduler/jobs.rb:258:in `loop'
  38227580       /home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/rufus-scheduler-3.0.3/lib/rufus/scheduler/jobs.rb:258:in `block in start_work_thread'
} 38227580 .

Saya melihat pesan koneksi ditolak, saya kira saya harus mengonfigurasi beberapa kredensial keamanan atau membuka beberapa port... tapi saya tidak tahu.

PEMBARUAN

Untuk memberikan beberapa rincian lebih lanjut. Layanan email saya disediakan oleh Zoho, saya mengkonfigurasi beberapa akun. Saya mengonfigurasi dua kumpulan data MX di AWS dengan Route 53. Email berfungsi, maksud saya, saya dapat mengirim dan menerima email dari akun lain seperti gmail atau hotmail ke akun zoho saya. Dan seperti yang saya katakan, layanan email sedang bekerja dengan akun-akun ini dalam pengembangan (yang merupakan ubuntu lainnya).


person Rober    schedule 22.05.2014    source sumber
comment
Bagaimana Anda mencoba mengirim email?   -  person datasage    schedule 22.05.2014
comment
Saya tidak tahu persis apa yang Anda maksud, saya menggunakan kelas EmailService yang memperluas ActionMailer di Rails. Saya tidak tahu cara kerjanya di balik layar. Saya hanya tahu ini berfungsi dengan baik di lingkungan pengembangan saya. Saya dapat memposting beberapa kode, tetapi menurut saya itu tidak ada hubungannya dengan kode.   -  person Rober    schedule 22.05.2014
comment
Saya berasumsi Anda tidak berada di lingkungan pementasan di EC2? Sudahkah Anda mengonfigurasi pengaturan email untuk lingkungan non-staging?   -  person Freddy Wetson    schedule 23.05.2014
comment
Meskipun kami sedang dalam pengujian, ini akan menjadi lingkungan produksi. Saya belum mengkonfigurasi apa pun yang berhubungan dengan email. Apa yang harus saya konfigurasi? Oke, saya rasa saya harus membaca tentang SES ya?   -  person Rober    schedule 23.05.2014
comment
Tidak @UriAgassi, kedua postingan tersebut adalah milik saya, tetapi saling melengkapi. Yang ini untuk kesalahan detail teknis. Yang lainnya adalah untuk konsep.   -  person Rober    schedule 26.05.2014


Jawaban (1)


Apakah Anda menjalankan aplikasi ini dari dalam VPC? Jika demikian, verifikasi bahwa grup keamanan instans NAT Anda mengizinkan lalu lintas masuk/keluar SMTP. Jika ini adalah instans EC2 klasik, lakukan hal yang sama di SG instans Anda.

person ma.tome    schedule 22.05.2014