Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails不在AWS上发送电子邮件_Ruby On Rails_Email_Amazon Web Services_Amazon Ec2 - Fatal编程技术网

Ruby on rails Rails不在AWS上发送电子邮件

Ruby on rails Rails不在AWS上发送电子邮件,ruby-on-rails,email,amazon-web-services,amazon-ec2,Ruby On Rails,Email,Amazon Web Services,Amazon Ec2,我正在尝试从我的Rails应用程序发送确认电子邮件。在我的开发环境中,它可以完美地工作(在ubuntu中)。但是,当我尝试在我的AmazonAWSEC2实例中发送电子邮件时,它不起作用。我得到下一个错误日志: BookingRequestEvent.execute { 38227580 rufus-scheduler intercepted an error: 38227580 job: 38227580 Rufus::Scheduler::EveryJob "60s" {}

我正在尝试从我的Rails应用程序发送确认电子邮件。在我的开发环境中,它可以完美地工作(在ubuntu中)。但是,当我尝试在我的AmazonAWSEC2实例中发送电子邮件时,它不起作用。我得到下一个错误日志:

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 .
BookingRequestEvent.execute
{38227580 rufus计划程序截获一个错误:
38227580工作:
38227580 Rufus::调度程序::EveryJob“60s”{}
38227580错误:
38227580     38227580
38227580错误号::ECONREFUNCED
38227580连接被拒绝-连接(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:在“传递中的块”中
38227580/home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/actionmailer-4.0.0/lib/action\u mailer/base.rb:456:在“邮件传递中的阻止”中
38227580/home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/activesupport-4.0.0/lib/active\u support/notifications.rb:159:在“仪器中的块”中
38227580/home/ubuntu/.rvm/gems/ruby-2.0.0-p451/gems/activesupport-4.0.0/lib/active\u-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\u mailer/base.rb:454:in'deliver\u 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\u request\u 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'
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:start\u work\u thread中的“块(3级)”中
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:start\u work\u thread中的“块(2级)”中
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:在“开始工作线程中的块”中
} 38227580 .
我看到一条连接被拒绝的消息,我想我应该配置一些安全凭据或打开一些端口。。。但我不知道

更新


提供更多细节。我的电子邮件服务是由Zoho提供的,我配置了一些帐户。我用Route 53在AWS中配置了两个MX记录集。邮件正在工作,我的意思是,我可以发送和接收来自其他帐户(如gmail或hotmail)的电子邮件到我的zoho帐户。正如我所说,电子邮件服务正在开发中使用这些帐户(这是另一个ubuntu)。

您是否在专有网络中运行此应用程序?如果是,请验证NAT实例的安全组是否允许SMTP入站/出站通信。如果它是一个经典的EC2实例,请在实例的SG中执行相同的操作。

您是如何尝试发送电子邮件的?我不知道您的确切意思,我使用的是一个EmailService类,它在Rails中扩展了ActionMailer。我不知道它在幕后是如何运作的。我只知道它在我的开发环境中工作得很好。我可以发布一些代码,但我认为它与代码无关。我假设您不在ec2上的登台环境中?您是否为非登台环境配置了邮件设置?尽管我们正在测试,但它将是生产环境。我还没有配置任何与电子邮件相关的内容。我应该配置什么?好的,我想我必须阅读SES,对吗?可能是重复的