Tag Archives: E-Mail

Rails 4 Send mail when Error occurs


I wrote code to send mail when error occurs in Rails 4.

Environment

  • Ubuntu 15.05 (64bit)
  • Ruby 2.2.2
  • Rails 4.1.8

Old Way

In Rails 3, I could use rescue_in_public method in ApplicationController and send error notification mail.

current_user returns user who logging in. It’s defined in devise gem.

But in rails 4, it doesn’t work.

Solution

I used rescue_from, which also exists in Rails 3.

rescue_from Exception catches all exception occurs in controller, but rescue_from StandardError doesn’t. It is because RuntimeError, for example, is inherits Exception but doesn’t inherit StandardError, which is raised by raise "exception!" simply. And, syntax error like 0 = 1 couldn’t be caught. Error caught by rescue_from Exception is errors occurs in running program. And errors occur before controller procedure can’t be caught.

The point is raise exception in handle_exception method. I don’t want to erase exception by handle_exception, but want only to send notification mail. It is like AOP. In the above, add method into application_controller.rb simply.

current_user in send_error_mail method returns logging in user, which is defined in the gem, devise. self is used for reporting in which controller the error occurs. request is for reporting request url, etc. The code !Rails.env.development? should be replace to config value. I heard that we can use custom configuration in Rails 4.2, so it is the issue after rails upgrading.

Attention

Exceptions before controller procedure should be reported by other way.

I know handling exception outside of controller is a way, but there are variables can be referred in controller and objects useful in controller, I thought, so I wrote code into applicatoin_controller.rb.

Continue reading Rails 4 Send mail when Error occurs

How to send email automatically and periodically


How do you do, when you should send email periodically? With Google Apps Script, we can send email automatically and periodically.

First, wrote the code to send email like below.

You can add CC and BCC on the email.

And now, select “Resources” from menu, and click “Current project’s triggers”, and follow the instructions and create a trigger to execute sending method periodically. You can send email everyday, or on the specific weekdays, or beginning or end of month, etc. Notification email is available, which tells you the information when program fails.

In the above case, I use MailApp for sending email、 You can send email according to you or other’s calendar, using CalendarApp. Detail of MailApp or CalendarApp, Utilities is on the online document published by Google.


1分間時間術


友達なんてたくさん作ってどうするんだ!

そんな斬新な本でした。

読者として境遇の当てはまる部分が多く、とてもわかりやすかったです。わかりやすいというか、指針が得られた本でした。また、私の経験とも重なる部分があったので、今までのやり方に自信が持てた部分もありました。

メディアを絶つ

テレビ、ラジオ、新聞、雑誌、メールマガジン、……。いろんな人がいろんな情報を発信しています。我々もそういった情報を目にして生活しています。ところで、そのなかで役に立ったといえる情報はどれだけあるでしょうか。いくつ挙げられますか?

筆者は、これらはすべて不要だと書いています。私も、テレビは時間の無駄だと判断して、小学生の頃から見るのをやめました。たしかにそうすることで時間を作ることができましたし、勉強などは他人よりもよくできていました。

ただこの中で一つだけ、断ち切れていなかったものがありました。メールマガジンです。本書には、登録してもよいメールマガジンの数断ち切るべきメールマガジン登録に値するメールマガジンについて書かれていました。今日からその指針に沿って、登録していたメールマガジンをバンバン解除していきます。

専属と集中

父、母、子供。それぞれがそれぞれの役割を持っています。筆者の環境はとても恵まれていました。父は稼ぐ、母は家事をする、子供は勉強をする。各自、自分の役割に集中をする環境ができていました。それが成功への近道なんです。父親が家事をやっていたら稼ぐスピードが遅くなる、基本的な考え方はとても単純です。

私も小学生~高校生の頃はそんな環境にありました。私自身も勉強に集中していました。そのため大学はトップレベルの大学に行けましたし、その恩恵を今でも受けています。

ただ、友人関係があまりうまくいかなかった。今でもちょっと引け目を感じていますが、そんなことは気にすることではないと著者は書いています。友人なんて1年に1人つくればいい。そんなに友人を作ったり、深い人付き合いをしてもあまりいいことはないそうです。難しく考える必要はないみたいで、少し救われたような気がしました。細かいことについては本書をお読みください。

また、大学から今に至るまではあまり集中してこなかったので、それなりにうまくいかない人生を送っています。今一度生活を見直してみようと思いました。自分だけではなく、家庭そのものの環境から変えることが必要ですね。

返事を返すタイミング

会社で働く私にとって、メールの返信は非常に重要な仕事です。メールをいつ返すのがよいのか。また、メールはいつチェックするのがよいのか。著者は、返信するべきではないメールもあると書いています。

また、この本にはどんな内容で返信するべきかも書かれています。長文よりも、1行でいいから返す、寧ろその方がいい。1行ですからその中に必要な情報を入れないといけないですね。あなたなら、どうしますか?

この本には例文が載っており、大変参考になります。この技は、明日から使わせていただきます。

そのほかにもおもしろい話が書かれていたのですが、長くなるのでここでの紹介は控えます。もし、「なんだか役に立ちそうだ!」と思われた方は是非読んでみるといいと思います、きっと役に立ちます。