Ruby on rails 水豚试验中的Sendgrid错误
我正试图将测试追溯到一个相当复杂的应用程序(再也不会了)。我内置了Sendgrid功能,可以在新用户注册时发送电子邮件。因此,当我尝试测试注册页面时,它会尝试发送我的example@example.net通过电子邮件发送消息,我收到以下错误:Ruby on rails 水豚试验中的Sendgrid错误,ruby-on-rails,ruby-on-rails-3,email,testing,rspec,Ruby On Rails,Ruby On Rails 3,Email,Testing,Rspec,我正试图将测试追溯到一个相当复杂的应用程序(再也不会了)。我内置了Sendgrid功能,可以在新用户注册时发送电子邮件。因此,当我尝试测试注册页面时,它会尝试发送我的example@example.net通过电子邮件发送消息,我收到以下错误: Net::SMTPFatalError: 550 Cannot receive from specified address <my app's email>: Unauthenticated senders not allowed my e
Net::SMTPFatalError:
550 Cannot receive from specified address <my app's email>: Unauthenticated senders not allowed
my environment.rb文件中没有任何内容。问题表明,也许我应该将这些设置切换到environment.rb文件中,但是(很明显,我对配置文件理解得不太透彻),我想知道我是否应该为development.rb、test.rb等单独设置(另外,我尝试了切换,但没有改变错误)。此外,如果有一个解决方案,让capybara/rspec在测试过程中忽略电子邮件请求(或者以某种方式处理它是一个伪造的电子邮件地址,并在不发送电子邮件的情况下测试电子邮件)
谢谢 您应该能够通过配置将ActionMailer设置为测试模式:
config.action_mailer.delivery_method = :test
或者在您的测试中:
ActionMailer::Base.delivery_method = :test
您还可以在上找到更多信息,谢谢!当您说“在您的测试中”时,您的意思是在test.rb文件中吗?或者在我的用户页面规范rb文件中(我实际使用的是capybara)?是的,在您尝试发送电子邮件之前,直接从您的capybara规范中。太棒了!很有魅力,太棒了!如果您有时间,最好在您的配置文件(例如test.rb和development.rb)中执行此操作,这样您就可以让development实际发送一条消息,但可以使用类似于“确定将其放入配置文件”的内容捕获消息。它更安全,也能在rspec中工作。另外,你应该看看测试电子邮件的方法。
ActionMailer::Base.delivery_method = :test