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 è?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top