tutorial rails for enviar ruby-on-rails email

for - Notificación abierta de correo electrónico-Ruby on Rails



send email to user rails (3)

La única forma de hacerlo es usar el correo electrónico html con una imagen de seguimiento. Debe incluir una imagen específica del usuario en el código.

class TrackingController < ApplicationController def image # do something with params[:id] send_file "/path/to/an/image" end end

añade la siguiente ruta:

# Rails 2 map.tracking_image "tracking_image/:id.gif", :controller => ''tracking'', :action => image # Rails 3 match ''products/:id'', :to => ''tracking#image'', :as => "tracking_image" # Rails 4 (match without verb is deprecated) get ''producsts/:id'' => ''tracking#image'', as: ''tracking_image'' # or match ''producsts/:id'' => ''tracking#image'', as: ''tracking_image'', via: :get

en su plantilla de correo electrónico algo como esto:

<%= image_tag tracking_image_url(@user.id) %>

Pero tenga en cuenta que esto no garantiza que el usuario lea el correo electrónico y cargue la imagen; algunos clientes de correo electrónico no cargan imágenes hasta que el usuario lo desea. Y si no lo hace, no puedes hacer nada al respecto. Además, si el usuario usa solo correo de texto, esto tampoco funcionará.

Si enviaré 100 correos electrónicos al usuario registrado y deseo saber si los usuarios abren el correo electrónico o no

¿Cómo puedo hacer esto usando Ruby on Rails?


No estoy muy familiarizado con ruby ​​pero he escrito varias aplicaciones de correo masivo. Puedes usar una imagen webbug para obtener una tasa de apertura aproximada. Básicamente es solo una imagen de un píxel o transparente con información de seguimiento:

<img src="http://mysite/trackingimage.gif?email=x&customer=y">

Lo que hago es crear un directorio llamado trackingimage.gif con un índice que lee y almacena los parámetros de url y luego se traslada a la imagen real.


Respuesta corta, no puedes. Respuesta ligeramente más larga. No se puede confiar.

Usando algo como VERP puede automatizar el procesamiento de rebote, para obtener una idea bastante buena si el servidor de correo remoto aceptó el correo electrónico. Pero después de eso todas las apuestas están apagadas. Realmente no se puede decir lo que el servidor de correo electrónico hizo con él (diríjalo a la carpeta de correo no deseado, colóquelo en la bandeja de entrada, colóquelo en silencio en el cubo del piso / bit, etc.). Puede habilitar los encabezados de lectura y recibo en su correo electrónico, pero eso es específico del cliente (y las personas como yo comen / niegan). Puede considerar el uso de un error web, por ejemplo, personalice cada correo electrónico con un archivo HTML, que extraiga una imagen remota, que tenga un ID único asociado, pero de nuevo específico del cliente, la mayoría no cargará imágenes remotas. Entonces, a menos que el correo electrónico rebote, no hay una forma 100% confiable de saber qué sucede con el correo electrónico después de que sale de su servidor.