ruby - para - spark mail windows
Eliminar las firmas y las respuestas de los correos electrónicos (8)
Actualmente estoy trabajando en un sistema que permite a los usuarios responder correos electrónicos de notificación que se envían ( suspiro ).
Necesito quitar las respuestas y las firmas, de modo que me quede el contenido real de la respuesta, sin todo el ruido.
¿Alguien tiene alguna sugerencia sobre la mejor manera de hacer esto?
Consulte la gema email_reply_parser: https://github.com/github/email_reply_parser . Hace un buen trabajo manejando este problema.
El delimitador de firma recomendado es "- / n". Si las personas siguen esta recomendación, quitar las firmas debería ser fácil.
Hay una muy buena biblioteca de PHP dedicada al análisis de correo electrónico
No creo que puedas hacer esto de manera confiable (las firmas solían comenzar con ''--''
pero ya no lo veo). Tal vez sea mejor que le pidas a la gente que responda entre encabezados de texto y luego simplemente le quites la respuesta. No es elegante, pero tal vez más confiable.
p.ej
REPLY BETWEEN HERE -->
AND HERE -->
así que simplemente busca los encabezados requeridos arriba y toma lo que está entremedio.
Si puede suponer que estos correos electrónicos están en texto plano, simplemente pegue las líneas que comiencen con ">" como respuestas, y la línea "-" delimite la firma. Pero esas suposiciones podrían no funcionar, ya que no todas las personas que usan Internet usan software que cumple con las reglas.
Si quiere algo poderoso y robusto, y no le importa leer publicaciones académicas, puede ver esto:
Aquí está la página de inicio de uno de los autores, con más información y algunas descargas:
Si su sistema es interno y / o tiene un número limitado de formatos de respuesta, es posible hacer un trabajo bastante bueno. Estos son los filtros que hemos configurado para las respuestas por correo electrónico a los tickets de trac:
Suelta todo el texto después de e incluyendo:
- Líneas que son iguales a
''-- /n''
(delimitador de sig de correo electrónico estándar) - Líneas que son iguales a
''--/n''
(la gente a menudo olvida el espacio en el delimitador de sig, y esto no es tan común fuera de sigs) - Líneas que comienzan con
''-----Original Message-----''
(predeterminado de MS Outlook) - Líneas que comienzan con
''________________________________
'' (32 guiones bajos, Outlook de nuevo) - Las líneas que comienzan con
''On ''
y terminan con'' wrote:/n''
(predeterminado de OS X Mail.app) - Líneas que comienzan con
''From: ''
(failsafe cuatro Outlook y algunos otros formatos de respuesta) - Líneas que comienzan con
''Sent from my iPhone''
- Líneas que comienzan con
''Sent from my BlackBerry''
Los números 3 y 4 son ''comenzar con'' en lugar de ''iguales'' porque a veces los usuarios aplastan las líneas juntas por accidente.
Tratamos de ser más liberales al eliminar las respuestas, ya que para nosotros es mucho más irritante (para nosotros) que contestar las preguntas que corregir el texto faltante.
¿Alguien tiene otros formatos de la naturaleza que quieran compartir?
Un enfoque que puede usarse solo para la firma (además de detectar __ o -) es probar si el primer nombre y / o apellido del remitente se encuentra en una línea corta (~ que contiene de 3 a 4 palabras, máx.).
El nombre del remitente está en el encabezado del correo electrónico sin procesar, la mayoría de las veces al lado de la dirección de correo electrónico, como en: From: John Doe <[email protected]>
Esto se basaría en la suposición de que rara vez escribe su propio nombre en un correo electrónico, y si lo hace, probablemente sea en una oración larga .
Por supuesto, habrá algunos falsos positivos, pero puede no ser un gran problema dependiendo de lo que haga (lo usamos para doblar el texto y la firma en un ... botón de estilo gmail, por lo que la sobredetección no termina en la pérdida cualquier contenido, simplemente está fuera de lugar).