Recentemente ho implementato e-mail in arrivo per un'applicazione e ragazzo, ho aperto le porte dell'inferno? Da quel giorno in poi arriva un'e-mail che fa fallire l'app in un modo diverso.
Una di queste cose sono le e-mail codificate come UTF-7. La maggior parte delle e-mail sono ASCII, alcune delle codifiche latine o, per fortuna, UTF-8.
I messaggi di errore di Hotmail (come l'indirizzo di posta elettronica inesistente o la quota superata) sembrano venire come UTF-7. Sfortunatamente, UTF-7 non è una codifica che Ruby comprende:
> "hello world".encode("utf-8", "utf-7")
Encoding::ConverterNotFoundError: code converter not found (UTF-7 to UTF-8)
> Encoding::UTF_7
=> #<Encoding:UTF-7 (dummy)>
La mia applicazione non si blocca, in realtà gestisce bene l'e-mail, ma mi invia una notifica sul potenziale errore.
Ho trascorso un po 'di tempo su google e non riesco a trovare nessuno che abbia implementato la conversione, almeno non come un convertitore di Ruby 1.9.3 Encoding ::.
Quindi, la mia domanda è, dato che non ho mai ricevuto un'e-mail con contenuti reali, da una persona reale, in UTF-7, quanto è rilevante quella codifica? posso ignorarlo tranquillamente?