自分でメールサーバーを作るのがめんどくさかったのでメールサーバーのさくらのメールボックスを使いrailsでメール送信を実装しました。
それと、既にWebサーバー用にお名前ドットコムでドメインを取得して割り当てていたのでこれと同じ物を使いたいと思ったのでその実装方法です。
この記事で解決できる問題
Webサーバーと同じドメインでメールを送信したい
さくらのメールボックスでメールを送受信したい
独自ドメインを設定
まずは独自ドメインの設定をします。
サーバーコントロール→ドメイン設定→新しいドメインの追加
5番目の「他社で取得したドメインを移管せずに使う」をクリック
webサーバーと同じドメインを入力し、送信します。
DNSレコードの設定
お名前ドットコムのドメインNavi→DNS関連の設定
対象のドメインを選択し、次へ進む
DNSレコードを利用するクリック
DNSレコードの設定
ホスト名:空でOK
TYPE:MX
TTL:そのまま
VALUE:*****.sakura.ne.jp
優先:10 or 適当な数字
上記の設定で追加します。
新しいメールアドレスを追加
さくらのメールボックスサーバーコントロール→メールアドレスの管理
メールアドレスの追加から好きなメールアドレスにします。
railsでActionMailerの設定
config/environments/development.rbに以下を追加
config.action_mailer.default_url_options = { host: "Webサーバーのホスト", port: 80 } config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => '*******.sakura.ne.jp', :port => '587', :domain => '何でもいい', :authentication => 'plain', :user_name => '先ほど作ったメールアドレス。ドメインは.sakura.ne.jp', :password => '先ほど作ったメールパスワード', :enable_starttls_auto => true, }
この設定でメールの送信ができます。
送信エラーが出たら確認すること
・railsのActionMailerの設定でaddress部分を独自ドメインにしてませんか。
→さくらのメールボックスの初期ドメインで設定
・railsのActionMailerの設定でuser_nameがさくらのメールボックスの登録メールアドレスにしてませんか?
→さくらのメールボックスで新しく作ったメールアドレスに設定しましょう。