私はRails 3を使用して電子メール送信機能を実装しています。私は私の設定が正しいかどうかわからないけど、ここに私のコードです:rails 3電子メール送信の問題
メーラー/ user_mailer.rb
class UserMailer < ActionMailer::Base
default :from => "[email protected]"
def send_to(user)
@user = user
subject='welcome !'
mail(:to=>'[email protected]', :subject=>subject, :content_type => "text/html")
mail.deliver
end
end
コントローラ:
def CarsController < BaseController
...
def register_finish
UserMailer.send_to(user)
end
end
のconfig /的環境。 rb
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.googlemail.com",
:port => 532,
:arguments => '-i'
:enable_starttls_auto => true
}
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
私のコントローラが 'register_finish'関数を呼び出してユーザに電子メールを送信しようとすると、私はいつもタイムアウト::エラー(実行期限切れ)エラーメッセージを表示します。
私は何人かの人々が設定/初期化子/ setup_email.rb構成を定義し、私はのconfig/enviroment.rbと使用中のそれを設定しながら、
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = { ...}
を使用しました:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {...}
「UserMailer」内で呼び出す間に、一部の人がコントローラー内で「配信」メソッドを呼び出すのも見ました。
私の質問:
私の実装と私は、インターネットから見つかった実装の上記の別の方法の違いは何ですか。
なぜタイムアウトエラーが発生しましたか?
コンソールが電子メールを送信されましたが、メールボックスが...それのため – Mellon
待機を受けていない、それはしばらく後に来るかもしれない示して私のためにうまく動作します。 –
はまだ受けていない):(なく、ありがとうございました:) – Mellon