似非 FeedMail - 設定ファイル

【注意】ここで紹介しているプログラムは、たまたま名前がカブってますが、UnderDone さんによるサービス FeedMail とはまったくの別物です。以下の内容について、UnderDone さんに問い合わせたりしないようにお願いします。

上の続き。クラスができたら、後は設定ファイルが 2 つ。まず、アプリケーション自体の設定ファイル。名前はなんでもいいが、とりあえず config.properties とか。

formatter=<Velocity テンプレートのパス>
smtp.host=<SMTP サーバ>
smtp.userid=<SMTP 認証で使うユーザ ID>
smtp.password=<SMTP 認証で使うパスワード>
sender.address=<From に使うメールアドレス>
sender.name=<From に使う送信者名>
recipient.address=<To に使うメールアドレス>
mail.title=<Subject>

注意点は、

  • Java の Properties ファイルなので、日本語文字 (というか、ASCII 外の文字) を使うときは native2ascii かける必要があり。英字だけにしとくのが無難かな。あ、あと、半角の円記号も。
  • Velocity テンプレートのパスは実行ディレクトリからの相対指定でも OK。パス区切りは、Windows でも '/' で。

最後に、Velocity テンプレートファイル。これも名前はなんでもいいけど、僕はとりあえず simple.vm って名前で以下のようにした。

#foreach ( $channel in $channels )
--- ${channel.title} ---

#foreach ( $item in $channel.items )
 - ${item.title} / ${item.subject}
   date: ${item.date}
   desc: ${item.description}
   link: ${item.link}
   
#end

#end

似非 FeedMail から Velocity に渡してるのは、各フィードからの取得結果リスト (de.nava.informa.core.ChannelIF オブジェクト を java.util.List に入れたもの)。後は Informa の JavaDoc を見ればテンプレートは好きなようにいじれる。
ただし、上のテンプレートはめちゃくちゃ手抜きなので、複数行に渡るテキストが読みにくかったり、空欄のところに "null" という文字が出てしまう。個人で使う分には気にならないので、ほっといてある。