2011-07-12 5 views
5

Rails 3'e actionmailer_x509 numaralı bağlantı noktasını bağlamak istiyorum. Bunu yapmak için imzalı e-posta ile büyük bir dizeden Mail nesnesini oluşturmaya çalışıyorum.Ruby: Posta gemini r n sonra 60 karakter posta kutusuna ekleyin

Bu hat üzerinde böyle oluşturulmasını görebilirsiniz: https://github.com/petRUShka/actionmailer_x509/blob/master/lib/actionmailer_x509.rb#L129

Orijinal dize (smime0): https://gist.github.com/1d2c84cc2e255be010a6

Sonuçlandı Posta nesne dosyaya dampingli (NEWM): Örneğin https://gist.github.com/4682fe88e8dcfeca60b2

, smime0 satırının 0 ve newmsatır 40 arasındaki farkı görebilirsiniz.. Her bir 64 karakterden sonra adresinde ayarlanmıştır ve her 60 karakterden sonra newm yerleşmiş olur.

Böyle bir davranış imzayı geçersiz kılar. Bu davranışı değiştirmek mümkün mü? Nasıl kapatılacağını bulmaya çalıştım ama başarısız oldu.

Bu nokta için başka bir çözüm de olabilir.

P.S. Posta mücevher: https://github.com/mikel/mail, x509 ve ActionMailer hakkında tartışma ile iplik: How do I send signed emails from ActionMailer in Rails 3?

cevap

3

satır başları bir problem olmamalı, çözümleyici kodlanmış base64 olduğunu bilecek (ve \r\n kaybolacak) çünkü.

Hatanın, Content-id'dan geldiğini düşünüyorum. Posta örneklerinde, newm bir Content-ID alanı eklediğimi ve imzalı mesajı değiştirdiğini (Content-ID satırını kaldırmayı ve mesajı doğrulamayı denediğimi) görüyorum.

Olası geçici çözümler:

  • Posta mücevher Fix

    mevcut olmadığını Posta tutmak çünkü kimliği Content
  • , imzalamadan önce Content-ID ekle eklemesini engellemek için
+0

Doğru gibi görünüyor. Kontrol edeceğim! – petRUShka

İlgili konular