質問

私は様々な速度テンプレートファイルを代表するメールメッセージ昼間のお仕事をお持ちでこれまでにないためのテンプレートファイルを出力対象のメッセージなどである。していると考えられている少数のオプション:

  1. の第一線の出力のようなもの"件名:Bla"ストリップでは、Java.私は拒否されたこのアプローチが不足文字列操作からJavaはまったく問題のようにしている解決を用い速度ます。

  2. 捨てると、設定できるオブジェクトへのマッピングのため一部のコードの速度マクロコ、セッター。メリット:インターネットはモバイル.連結:嫌いの設定を外部からの速度をもってい形で出力します。でも不当に嫌いなのよ。

  3. をいくつかのカスタム速度コマンドのように、#setSubjectLine.メリット:があります。連結:適用されるだろうとして有効なコマンドのすべてのテンプレートかどうかにかかわらず、彼らはe-メールです。

  4. て別々のテンプレートファイルの件名を送いたします。プロジェクト特別な技です。コン:ないすべてのメールの論理命は同じです。

  5. となるヨーロッパをテーマにした速度トリックわかりません。

  6. ???

ではどうしたらよいですか?い提案を5 6?理由だに1、2、3、4?

役に立ちましたか?

解決

  

2)でセッターを呼び出すためのVelocityマクロのいくつかのコードのマッピングに設定可能なオブジェクトを投げます。長所:非常にシンプル。短所:私も、出力の単なる形式として、ベロシティから外部オブジェクトを設定する考えを嫌います。これは、しかし、不合理嫌いかもしれません。

これは私のアプローチだった、と私は最初は私自身の同様の不安にもかかわらず、それに満足しています。私もこのような文字エンコーディングおよびその他の属性を設定します。これは、メッセージ本文としてテンプレートの残りの部分を残します。繰り返しますが、私は嬉しく思います。

#set ( $myAtts.encoding = "utf-8" )
#set ( $myAtts.from = "stu@nowhere.net" )

他のヒント

$workで我々は4を行うには正常に動作、およびない反対の引数が同じ場所に住んでいるすべての電子メール・ロジックは少し厳しすぎるようです。あなただけの隣同士に2つの速度のファイルを持っているでしょう。そしてだけでも、1つのテンプレートファイルを使用して、あなたはまだもベロシティファイルに住んでない、ように、データを移入するためのロジックを持っている受信者を決定し、添付ファイルを添付し、かつます。

<時間>

私はベロシティマクロを好きではないという理由だけで、3の上に2を好むだろう。 Javaオブジェクトを使用すると、より柔軟なようです。

$mailContext.setSubjectLine($subject)

2または3のいずれかを使用すると、1つの場所ですべてを持っていることのあなたの目標に近づくことができます:あなたは、ベロシティが、例えば、あまりにも、受信者リストを設定するために得ることができます。この、一つの他の手は、ベロシティのアイデアは純粋なテンプレート技術であることと矛盾しているようです。

ここで考慮すべき事はVelocityテンプレートを書いている人です。近いそれは、「エンドユーザー」になり、より少ないあなたが直接電子メールのコンテンツを作成することに関連していないもの(といじりからそれらを保つ)とのトラブル彼らにしたい。

<時間> それが実現可能である場合は、

わからない、理にかなっているか、JavaのメールAPIでも可能ですが、ちょうど完全性について:

6.持っている速度は、ヘッダー、単にコンテンツと対象とならないなど、全体の電子メールメッセージを作成します。そこの違い1には、この出力形式の後処理する必要はありません、それはメール転送エージェントにまっすぐに行くことができるということです。おそらく、添付ファイルでは動作しません。

To: $to
CC: $cc
Subject: $subject

Here comes the content.
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top