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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

0回答

1091閲覧

railsにて、wheneverとtaskを使用して1分毎にメールを送る設定をしたいです。

uoyuta

総合スコア7

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2021/08/21 05:13

前提・実現したいこと

######wheneverとtaskを使用して1分毎にメールを送る設定をしたいです。
上記の実装ができないため、どうか、お知恵をお借りしたいです。

現在、railsにてメールの箇所の挙動確認(ローカル環境)でできてる箇所は下記になります。
【メーラー設定】
・ユーザーがアカウント新規登録時に、登録メールアドレスへ送信(gmailから送信)
・raketaskコマンドでメールは送れている(おそらく、wheneverが動いていない、、、)

ざっくりですが、下記の手順で実装しました
【whenever】
①gem 'whenever', require: false をインストール
②bundle exec wheneverize .でファイルの作成。
③上記作成したファイルに記述したコードは、このあとお見せします。

【task】
.lib/tasksに呼び出したいコードを記述

発生している問題・エラーメッセージ

上記の、「wheneverとtaskを使用して1分毎ににメールを送る」を実現したいため、記述後bundle exec whenever --update-crontabでアップデートを行っても全くメールが送られません

該当のソースコード

schedule.rb

rails_env = ENV['RAILS_ENV'] || :development set :output, "#{Rails.root}/log/cron.log" # ジョブの実行環境の指定 set :environment, rails_env every 1.minute do rake "thanxmailer_a:thanxmailer_a" end

thanxmailer_a.rake

namespace :thanxmailer_a do desc '定期テスト' task thanxmailer_a: :environment do ThanxMailer.a.deliver_now end end

thanx_mailer.rb

class ThanxMailer < ApplicationMailer def complete_registration(user) @user = user mail( subject: "アカウント登録完了のご案内。", #メールのタイトル to: @user.email #宛先 ) do |format| format.text end end def a mail to: "送りたいメールアドレス" end end

ターミナルに記述後、メールは届いておりました。

rake thanxmailer_a:thanxmailer_a
% bundle exec whenever * * * * * /bin/bash -l -c 'cd /Users/uot/projects/subscription && RAILS_ENV=development bundle exec rake thanxmailer_a:thanxmailer_a --silent >> /Users/uot/projects/subscription/log/cron.log 2>&1' ## [message] Above is your schedule file converted to cron syntax; your crontab file was not updated. ## [message] Run `whenever --help' for more options.

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問