2

Rails でアプリケーションを開発していますが、アプリケーションから送信された電子メールをユーザーが開いたときに通知するコードを記述できるかどうかを知る必要があります (この情報を追跡する必要があります)。

私が必要とするデータの主なビットは、それが開かれたことです。

ありがとう

4

2 に答える 2

0

これを行うことはできますが、常に通知を受け取るという 100% の確実性はありません。
SMTP には、DSN と MDN の 2 つの標準があります。どちらも事実上オプションであり、対象となる電子メール受信者 (ユーザー) の電子メール システムもそれらを実装するという保証はありません。

最も簡単な方法は、"Return-Receipt-To:"(RRT) メール ヘッダーを挿入することです。ヘッダーの内容としてアドレスを入力します。ユーザーがこのヘッダーを含む電子メール メッセージを開くと、クライアントの電子メール リーダーは、受信確認を送信するかどうかをユーザーに確認する可能性があります。従うと、指定したアドレスに電子メールが送信されます。Rails では、次のようになります。

themailer < ActionMailer::Base
   def notify_read
     headers['Return-Receipt-To:'] = 'notifyread@mysite.com'
     mail(:to => 'users@somecompany.com')
   end
end

監視しているメールアドレスを使用して手動で読むか、レールを設定してこれらのメールを読むこともできます. しかし、常に承認が得られるという保証はありません。

さらに、各電子メール ドメインを確認することもできます。大手の無料電子メール プロバイダーの多くは、返信の領収書を要求する独自の方法を持っています。".readnotify.com"受信者のメール アドレスの末尾に追加すると、返信用の領収書が届きます。ただし、すべての大きなものを調査する必要があります。例えば:

user@yahoo.com.readnotify.com

それが役立つことを願っています

ソース: http://railsforum.com/viewtopic.php?pid=147997#p147997

于 2013-02-08T10:19:32.160 に答える
0

これを実装する一般的な方法は、非表示の画像ファイルへのリンクを含めることです。このリンクには、どの電子メールが表示されているかを識別できるように、電子メールに関する十分な詳細が含まれています。

メールクライアントから画像が要求されると、サーバーは表示の試みを記録できます。サード パーティのメール プロバイダー (sendgrid、postageapp など) を使用している場合は、サード パーティのメール プロバイダーが代わりにそれを行い、適切なイベントでサーバーに ping を送信することがあります。私はこれが readnotify が内部で行っていることであると強く疑っています (少し前に誰かがこれを見て苦労しました

一部の (多くの?) ユーザーがメール ビューアでリモート画像表示をオフにしているため、これは完全に正確ではありません。

于 2013-02-08T10:33:27.470 に答える