Redmineプラグイン開発入門(4)メールを送信する方法
Redmineプラグインでメールを送信する方法
こんばんは。 寒い日が続きますね。こんな日は温かくして自宅でゴロゴロしています。 Redmineプラグインでメールを送信する方法をメモしておきます。 いいね!プラグインにメール通知機能を追加しましたので、その軌跡となります。 記事はプラグイン名=likeで書いています。
1. 専用のメール送信クラスを作成します。
Mailerクラスを継承して作成します。メールアドレスは.mailメソッドが使えます。
plugins\like\app\models\like_mailer.rb
class LikeMailer < Mailer def on_like(user_to, title, content) @title = title @content = content mail to: user_to.mail, subject: @title end end
2. プレーンテキスト用とHTMLメール用の2つのviewを作成します。
views/クラス名/メソッド名でファイルを作成します。
plugins\like\app\views\like_mailer\on_like.text.erb
<%= @title %> <%= @content %>
plugins\like\app\views\like_mailer\on_like.html.erb
<p><%= @title %></p> <p><%= @content %></p>
3. 送信処理を書きます。
- で作成したメソッド+.deliverメソッドを呼びます。これでメールが送信されます。
plugins\like\app\controllers\like_controller.rb
user_to = User.find(user_id) title = User.current.lastname + " liked your Ticket" content = "本文を書きます" # Send a mail LikeMailer.on_like(user_to, title, content).deliver
以上となります。
参考になりましたら幸いです。ではまた。