4

特定のアクションが発生したときにメールを送信するレールアプリケーションを作成しています。ユーザーはこれらのメールに返信でき、システムは返信メールをユーザーに送信された元のメールと照合する必要があります。

これを行う最善の方法は、メッセージを送信するときにメッセージ ID ヘッダー フィールドを保存することのようですが、これは ActionMailer で可能ですか? 次に、返信から参照ヘッダーを取得し、メッセージを照合します。

これが不可能な場合、代替ソリューションはありますか?

4

5 に答える 5

11

Rails 3 では、これが可能です。

message = Mailer.welcome(@user).deliver
message.message_id #=> 4ccc56d19...

于 2010-10-30T17:38:25.737 に答える
3

別の方法として、次のようにメールの「返信先」フィールドに追跡コードを追加することもできます。

たとえば、通知 ID が 123 の場合、ユーザーは notification+123@yourdomain.com に返信します。システムが電子メールを受信すると、123 を使用して元のメッセージを識別することができます。

于 2009-08-21T20:31:47.503 に答える
1

actionmailer 内でメッセージ ID にアクセスできるかどうかはわかりませんが、独自のカスタム ヘッダーを追加して、ユーザーが返信するときにこれらを参照することは可能です。

次のように、メーラー モデル内でこれを行います。

@headers["VetId"] = order.vet_id
于 2009-08-21T11:13:24.943 に答える
0

メーラークラスで Message-ID ヘッダーをそのように設定できます

class mailer < ActionMailer::Base
  default "Message-ID" => lambda {"#{SecureRandom.uuid}@domain.com"}   
  ....
end
于 2014-02-12T14:49:15.840 に答える
0

http://tmail.rubyforge.org/をご覧ください。

于 2010-01-13T02:32:18.177 に答える