2009-11-24 13 views
23

私はレールで電子メールを学ぶことを試みています。私はlocalhost上で何かを開発しています。 localhostから電子メールを送信して、gmailのような通常のメールアカウントを言うことは可能ですか?メールサーバーをインストールしていますか?私は今、開発のために現時点で標準的なレールのインストールを持っています。ローカルホストからのメールを送信

答えて

14

あなたはのconfig/environment.rbににこのようなものを使用してGmailのSMTPサーバーを使用するようにactionmailerのを設定することができます

ActionMailer::Base.delivery_method = :smtp 
ActionMailer::Base.server_settings = { 
    :address  => 'smtp.gmail.com', 
    :domain   => '<your domain>', 
    :port   => 587, 
    :user_name  => '<your gmail>', 
    :password  => '<your password>', 
    :authentication => :plain 
} 

編集:あなたはどんな問題が発生した場合、エラーを表示するように設定を設定します:

ActionMailer::Base.raise_delivery_errors = true 
+0

おかげで、私のような通常のメールボックスにはlocalhost(送信者にGmailのような通常のEメールアカウントを作成していない)からの電子メールを送信しようとしているので、もしgmail::domain、:user_name、:passwordと:認証フィールドには何を入れますか? – conspirisi

+0

これはメールサーバーを使用するための設定のみです。 fromアドレス、アドレス、件名などは他の場所で変更されます。これを行う方法については、ActionMailer(http://api.rubyonrails.org/classes/ActionMailer/Base.html)のドキュメントの例を参照してください。 Gmailのための –

+0

:enable_starttls_auto:本当に珍しいかもしれません – Artur79

0

ローカルホストから送信することもできます。送信者を「実際のメールボックス」として設定することもできます。 [email protected]

ただし、一部の(またはほとんどの場合)サーバーは、このメールをspam blocking strategy(送信者のIDを確認できません)の一部として受け付けません。 しかし、これまで、私はgmailで動作していたpythonと似たものを持っていました。

とても幸運;-)

5

ActionMailerを見てください。 RAILS_ROOT/config/environment/では、異なる環境(開発、テスト、本番)構成可能な設定が必要ですこのようなdelivery_methodを指定

これらのファイルに行くためのファイル、

ActionMailer::Base.delivery_method = :sendmail 

があります。また、

ActionMailer::Base.delivery_method = :smtp 
をしたい場合

設定の詳細な例は

HTHミカエルSによって投稿されました

3

あなたの状況を正しく理解していれば、[email protected]などのカスタム電子メールアドレスを使用してローカルコンピュータから電子メールを送信したいと考えています。電子メールアカウント(mycompany.com)のドメイン名を既に登録している場合は、あなたのウェブサイトをホストしている会社にPOP/SMTPサーバーもある可能性が非常に高いです。その場合は、Mikael Sのサンプルを使用して、アドレスパラメータをホスティング会社のSMTPアドレスに変更し、ホスティング会社のユーザー名/パスワードを使用することができます。

カスタムドメインを登録していない場合やホスティングプロバイダがない場合は、ローカルコンピュータに無料の電子メールサーバーをインストールできます。 WindowsXPを使用している場合は、プログラム - >ウィンドウ機能を追加/削除することで、IIS電子メールサーバーを追加できます。 Linuxを使用している場合は、リポジトリで利用可能な電子メールサーバーを使用できます。ローカルメールサーバーをインストールしたら、Mikael Sのサンプルコードを使用し、アドレスフィールドに127.0.0.1またはlocalhostを使用します。 WindowsXPの電子メールサーバーを使用している場合は、ユーザー名とパスワードを入力する必要はありません。

お手伝いします。

25

レールの更新4。0
今、あなたはそれを動作させるために、これらのコードが必要:

# I recommend using this line to show error 
config.action_mailer.raise_delivery_errors = true 

ActionMailer::Base.smtp_settings = { 
    :address  => 'smtp.gmail.com', 
    :domain   => 'mail.google.com', 
    :port   => 587, 
    :user_name  => '[email protected]', 
    :password  => '******', 
    :authentication => :plain, 
    :enable_starttls_auto => true 
} 
+2

そして、あなたのレールサーバーを再起動することを忘れないでください –

関連する問題