Railsでメールについて学ぼうとしています。ローカルホストで何かを開発しています。 localhostからGmailのような通常のメールアカウントを伝えるメールを送信することは可能ですか?メールサーバーをインストールしますか?現在、開発用の標準のRailsインストールがあります。
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
}
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
ActionMailer をご覧ください。 Rails_ROOT/config/environment/
、さまざまな環境(開発、テスト、本番)用のファイルがあります。構成可能な設定はこれらのファイルに含まれます
次のようにdelivery_methodを指定します。
ActionMailer::Base.delivery_method = :sendmail
またはあなたが望むなら
ActionMailer::Base.delivery_method = :smtp
設定の詳細な例はMikaelSによって投稿されました
HTH
私があなたの状況を正しく理解している場合は、john @ mycompany.comなどのカスタム電子メールアドレスを使用してローカルコンピューターから電子メールを送信する必要があります。電子メールアカウント(mycompany.com)のドメイン名を既に登録している場合は、Webサイトをホストしている会社にもPOP/SMTPサーバーがある可能性があります。その場合は、Mikael Sのサンプルを使用して、アドレスパラメータをホスティング会社のSMTPアドレスに変更し、ホスティング会社のユーザー名/パスワードを使用できます。
カスタムドメインを登録していない場合、またはホスティングプロバイダーがない場合は、ローカルコンピューターに無料の電子メールサーバーをインストールできます。 WindowsXPを使用している場合は、[プログラムの追加/削除]-> [Windows機能]に移動して、IIS電子メールサーバーを追加できます。Linuxを使用している場合は、で利用可能な任意の電子メールサーバーを使用できます。ローカルの電子メールサーバーをインストールしたら、Mikael Sのサンプルコードを使用し、アドレスフィールドに127.0.0.1またはlocalhostを使用します。WindowsXPの電子メールサーバーを使用している場合は、ユーザー名/パスワードを入力する必要はないと思います。
それがあなたを助けることを願っています。
ローカルホストから送信できます。送信者を「実際の」メールボックスとして設定することもできます。 [email protected]。
ただし、一部の(またはほとんどの)サーバーは、 スパムブロック戦略 (送信者IDを確認できない)の一部としてこのメールを受け入れません。ただし、過去には、Gmailで機能するpythonと似たようなものがありました。
とても幸運 ;-)