簡體   English   中英

Actionmailer表示已發送電子郵件,但始終無法到達(Rails 3)

[英]Actionmailer says email sent but it never gets there (Rails 3)

即使Actionmailer在控制台中說“已發送”,也不會在開發中發送電子郵件。

gemlist:

gem 'send_grid'

development.rb:

config.action_mailer.perform_deliveries = true 
config.action_mailer.default_url_options = { :host => "localhost:3000" }

為setup_mail.rb:

ActionMailer::Base.smtp_settings = {
    :address => "smtp.sendgrid.net",
    :port => '587',
    :domain => "heroku.com",
    :user_name => "app123456789@heroku.com",
    :password => "asdfasdfasdf",
    :authentication => :plain,
    :enable_starttls_auto => true
}

應用程序/郵寄/ user_mailer.rb:

class UserMailer < ActionMailer::Base
    include SendGrid

    def registration_confirmation(user)
        @user = user
        mail(:to => user.email, :subject => "Registered", :from => "media@myemail.com")
    end
end

應用程序/視圖/ user_mailer文件/ registration_confirmation.html.haml:

Confirm your email address please!

= accept_invitation_users_url(email_token: @user.email_token)

安慰:

Sent mail to alain@myemail.com (656ms)
Date: Tue, 11 Feb 2014 13:35:11 -0500
From: media@myemail.com
To: alain@myemail.com
Message-ID: <52fa6d5f667ea_27ce5564820279f3@Ice-box.mail>
Subject: Registered
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-SMTPAPI: {}

Confirm your email address please!
http://localhost:3000/users/accept_invitation?email_token=_JL8DQ2GItxl

Redirected to http://localhost:3000/
Completed 302 Found in 1396ms (ActiveRecord: 192.2ms)

您可以嘗試設置:

config.action_mailer.raise_delivery_errors = true以查看是否在交付時引發任何錯誤。 否則,請嘗試使用其他電子郵件或將其檢查到您的垃圾文件夾中

或者在開發模式下嘗試此操作,以檢查是否存在任何問題(您可以在控制台中看到確認信息,這似乎很好)

https://github.com/ryanb/letter_opener

config.action_mailer.raise_delivery_errors = true添加到production.rb或development.rb並重新啟動您的應用以使更改生效

將其放在您的smtp設置之前:

config.action_mailer.raise_delivery_errors = true

在調用電子郵件方法的末尾添加“ .deliver”,即:

UserMailer.welcome_email(@user).deliver

它將引發異常,這將幫助您查找失敗原因。

如果您正在使用后台作業發送電子郵件,則可以將此片段放在異常塊中,並使用ExceptionNotification gem來發送帶有詳細信息的電子郵件,這將幫助您輕松地發現並查找失敗的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM