this is for the sake of proper signature verification.
sometimes mail servers strip <CR><LF>s from the ends of lines. however
these characters are required by RFC 3156 for proper signature
verification.
payload_string = part.as_string()
if payload_string != None:
- obj.payload_bytes = payload_string.encode(charset)
+ # convert each isolated carriage return or line feed to carriage return + line feed
+ payload_string_crlf = re.sub(r'\n', '\r\n', re.sub(r'\r', '\n', re.sub(r'\r\n', '\n', payload_string)))
+ obj.payload_bytes = payload_string_crlf.encode(charset)
obj.filename = part.get_filename()
obj.content_type = part.get_content_type()
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
-iJwEAAECAAYFAlXBO+cACgkQsT5tL2pPbujZbgQAhF23ts0wohA6lxbVfcq/mdzl
-GrRO7pYC5BNDtRRjeGDCOisdfY5qK0skuwVSSMJAKok+Sgv/FKsofWT08XPBz4vV
-KAtJoAb6i6r8g38lHGM1Fl8POK3tAEC0srf45xBJY14yuJoGMC0rG+Hj+IxtFfay
-Fphd1bTfkcXjEZN8/nA=
-=HfPl
+iJwEAAECAAYFAlZcv6cACgkQsT5tL2pPbuiVHAP/fl0fViiYtc5UHAOzywlTRKP0
+DXCp4mgwkeqawaC4+N7CN1I4dezoWBoKcOBJRuF6rrkeet7vsj8FeJAvzBTui6PI
+XxGPU4wuaaQ0R9DlePqKPzScrDEBXvxvJdk9AUilkiU3/jaCsgpalAaLrwK4PCIL
+iXisvPWXi2u7tSPpJWU=
+=GWbS
-----END PGP SIGNATURE-----
--69pEqCNMs7DnfdpwkAdpUCaf0lwnKu6Vr--