Prendere il controllo di posta elettronica soggetto a rotaie
-
01-10-2019 - |
Domanda
Ho bisogno di cambiare argomento dei messaggi di posta elettronica su un livello basso. Che rotaie non fa altro che codifica per il soggetto come citato in qualsiasi codifica è impostato. Che cosa ho bisogno è quello di rendere citato ma è divisa in blocchi di 64 byte, come Hotmail non va davvero con gli standard: /
Come faccio a dire le rotaie di prendere il soggetto come è?
Soluzione
Ho avuto uno sguardo a questo come un follow-up alla mia risposta alla domanda precedente. Il problema è con tmail. Rimuove automaticamente e ritorni a capo dal soggetto. Ho creato la seguente patch scimmia come sembra essere l'unica soluzione per fermare il comportamento di tmail.
module TMail
class SubjectHeaderField < UnstructuredHeader
def parse
#Do nothing
end
end
class HeaderField
FNAME_TO_CLASS = FNAME_TO_CLASS.merge('subject' => SubjectHeaderField)
end
end
Se si include nel programma di posta in Rails 2.3.x dovrebbe funzionare. In alternativa si potrebbe desiderare di guardare http://github.com/mikel/mail/ che è il programma di posta di default in Rails 3?
Quindi è possibile impostare l'intestazione prima della codifica come la risposta precedente ha mostrato.
Altri suggerimenti
"This is a very very long subject line of an email that hotmail has problems processing".scan(/.{1,16}/)
#=> ["This is a very v", "ery long subject", " line of an emai", "l that hotmail h", "as problems proc", "essing"]
L'ho fatto a 16 caratteri, ecco un link al documento http://www.ruby-doc.org/core/classes/String.html#M000812
HTH