Fixed nested multiparts
This commit is contained in:
parent
5d2769b4da
commit
59a4f91565
|
@ -53,6 +53,15 @@ def encrypt_payload( payload, gpg_to_cmdline ):
|
||||||
payload.set_payload( "\n".join( filter( lambda x:re.search(r'^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$',x), payload.get_payload().split("\n") ) ) )
|
payload.set_payload( "\n".join( filter( lambda x:re.search(r'^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$',x), payload.get_payload().split("\n") ) ) )
|
||||||
return payload
|
return payload
|
||||||
|
|
||||||
|
def encrypt_all_payloads( payloads, gpg_to_cmdline ):
|
||||||
|
encrypted_payloads = list()
|
||||||
|
for payload in payloads:
|
||||||
|
if( type( payload.get_payload() ) == list ):
|
||||||
|
encrypted_payloads.append( encrypt_all_payloads( payload.get_payload(), gpg_to_cmdline ) )
|
||||||
|
else:
|
||||||
|
encrypted_payloads.append( [encrypt_payload( payload, gpg_to_cmdline )] )
|
||||||
|
return sum(encrypted_payloads, [])
|
||||||
|
|
||||||
def get_msg( message ):
|
def get_msg( message ):
|
||||||
if not message.is_multipart():
|
if not message.is_multipart():
|
||||||
return message.get_payload()
|
return message.get_payload()
|
||||||
|
@ -94,9 +103,7 @@ for rcpt in gpg_to:
|
||||||
gpg_to_smtp.append(rcpt[0])
|
gpg_to_smtp.append(rcpt[0])
|
||||||
gpg_to_cmdline.extend(rcpt[1].split(','))
|
gpg_to_cmdline.extend(rcpt[1].split(','))
|
||||||
|
|
||||||
encrypted_payloads = list()
|
encrypted_payloads = encrypt_all_payloads( raw_message.get_payload(), gpg_to_cmdline )
|
||||||
for payload in raw_message.get_payload():
|
|
||||||
encrypted_payloads.append( encrypt_payload( payload, gpg_to_cmdline ) )
|
|
||||||
raw_message.set_payload( encrypted_payloads )
|
raw_message.set_payload( encrypted_payloads )
|
||||||
|
|
||||||
send_msg( raw_message, gpg_to_smtp )
|
send_msg( raw_message, gpg_to_smtp )
|
||||||
|
|
Loading…
Reference in New Issue