読者です 読者をやめる 読者になる 読者になる

ITの隊長のブログ

ITの隊長のブログです。いや、まだ隊長と呼べるほどには至っていないけど、日々がんばります。CakePHPとPlayFrameworkを使って仕事しています。最近はAngular2をさわりはじめたお(^ω^ = ^ω^)

PlayFrameworkでmailerのプラグインをインストールしてハマってワロタ

eclipse Java Play Framework

スポンサードリンク

f:id:aipacommander:20150222095455p:plain


pluginをインストールしてもまだ動かない人用です。

環境

mailerプラグインをインストール


build.sbtへ下記記述を追加

  • build.sbt
libraryDependencies ++= Seq(
  javaJdbc,
  # 〜 省略 〜
  # この下の1行を追加しました。
  "com.typesafe.play.plugins" %% "play-plugins-mailer" % "2.3.1"
)

application.confにsmtpの記述を追加

  • conf/application.conf
smtp.host=smtp.gmail.com
smtp.port=465
smtp.ssl=yes
smtp.tls=yes
smtp.user="xxxxx@gmail.com"
smtp.password=xxxxxxx


gmailの場合は下記を参考にするといいかも。


qiita.com

aipacommander.hatenablog.jp


play.pluginsというファイルを作成


よくわかっていないが、pluginをインストールしたあとに優先度の設定が必要らしい。

  • conf/play.plugins
1500:com.typesafe.plugin.CommonsMailerPlugin

再起動(またはreload)


ここまできたら、playコンソールからmailerのpluginをインストールしましょう。

[project] $ reload
[project] $ clean
[project] $ update

コードを書く

MailerAPI mail = play.Play.application().plugin(MailerPlugin.class).email();
mail.setSubject("件名");
// 送信相手のアドレス
mail.setRecipient("test02@gmail.com");
// 送信元のアドレス
mail.setFrom("test@gmail.com");
// メールの内容
mail.send("test");
// viewsのtemplateも使えます。
// mail.send(views.html.mail.template.render(argsVariable).toString());

ハマったこと


再起動のupdate時に、インストールされたことを確認したのに、いつになってもeclipse上でパッケージが探せなくて困っていました。


下記コマンドをうったらうまくいきました。ここまで2時間(´Д`;

[project] $ eclipse

なんでや。。。。ようわからへん。