質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

0回答

517閲覧

RailsのMailCatcherはsmtp設定いらなくて外部送信できますか?

Hiross

総合スコア6

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2018/08/14 02:12

編集2022/01/12 10:55

外國人の新卒です。日本語はまだうまくできないので、質問をご覧になる方に迷惑をかけたら申し訳ございません。

前提・実現したいこと

ruby on rails4を使って開発をしています。先輩から、メール送信機能を作って欲しいと言われて、
MailCatcherというライブラリを推薦していただきました。

ネットで調べれば、このライブラリはメール送信テストとき使うアプリです。本番送信ではないみたいです。

smtpの設定は以下となります。先輩開発しているプロジェクトから直接コピーしていただきましたもの
config.action_mailer.smtp_settings = {
:address => 'localhost',
:port => 1025
}

機能を開発完了して(html形のメールとか、新規、削除とかする時の送信機能とか)、本番でテストしたい時、
/config/environments下のファイルの設定どう変更しても、送信は全部MailCatcherのテストビューに行きました。
ビューのほうで設定した自分のメールアドレスには一切メールこないです。
但し、smtpはちゃんとserver、post、user、passwordとかを設定して、コンソールでテストして送信はできますが。

例えば下のようになります。
config.action_mailer.smtp_settings = {
:enable_starttls_auto => true,
:address => 'smtp.gmail.com',
:port => '587',
:domain => 'smtp.gmail.com',
:authentication => 'plain',
:user_name => 'login@gmail.com',
:password => '123456'
}

このように設定すれば、コンソールで、例えばloginMailer.welcome_email.deliver_nowを入力したら、
login@gmail.comから他のメールアドレスに送信できます。ですが、ページで会員ログインして、何も変わらずに
MailCatcherに送信して、gmail経由しないです。

先輩に聞くと、MailCatcherは1025のsmtpポストを付いてますから、そのまま外部送信できます。smtpサーバに経由が必要ではないと言われました。でも、このような情報、ネットでいくら検査しても出てこない、ほとんど他のsmtpサーバで経由他人に送信するらしいです。

つまり、簡単にいうとメール送信機能が作りたいです。何か解決するいい方法が教えていただきましたら、感激します。

多分乱文になってしまってるんですが、読みに困りを掛けたらすみませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問