web-dev-qa-db-ja.com

ローカルホストからメールを送信する

Railsでメールについて学ぼうとしています。ローカルホストで何かを開発しています。 localhostからGmailのような通常のメールアカウントを伝えるメールを送信することは可能ですか?メールサーバーをインストールしますか?現在、開発用の標準のRailsインストールがあります。

24
conspirisi

Rails 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
}
28
Chun Yang

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
15
Mikael S

ActionMailer をご覧ください。 Rails_ROOT/config/environment/、さまざまな環境(開発、テスト、本番)用のファイルがあります。構成可能な設定はこれらのファイルに含まれます

次のようにdelivery_methodを指定します。

ActionMailer::Base.delivery_method = :sendmail

またはあなたが望むなら

ActionMailer::Base.delivery_method = :smtp

設定の詳細な例はMikaelSによって投稿されました

HTH

5
Anand Shah

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

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

それがあなたを助けることを願っています。

4
Juan Tarquino

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

ただし、一部の(またはほとんどの)サーバーは、 スパムブロック戦略 (送信者IDを確認できない)の一部としてこのメ​​ールを受け入れません。ただし、過去には、Gmailで機能するpythonと似たようなものがありました。

とても幸運 ;-)

0