Mail encrypté s'affiche en mode "source code"
Bonjour
j'encrypte un mail , et une fois décrypté dans outlook, c'est le contenu "source" de l'email qui s'affiche (comme si je faisais "view email source") et je ne comprends pas pourquoi
si je n'encrypte pas l'email, je recois bien le texte normalement et un fichier en attachement
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
def encrypt(text):
gpg = gnupg.GPG
encrypted_data = gpg.encrypt(text, 'monemail@...')
encrypted_string = str(encrypted_data)
if encrypted_data.ok:
return encrypted_string
else:
print 'status: ', encrypted_data.status
print 'stderr: ', encrypted_data.stderr
return None
def createSignature(msg):
# RFC3156 section 5 says line endings in the signed message
# must be canonical <CR><LF>.
text = re.sub(r'\r?\n', '\r\n', msg.as_string())
gpg = gnupg.GPG
signature = gpg.sign(text,detach=True,passphrase="*******************")
sig = MIMEText('')
sig.set_type('application/pgp-signature')
sig.set_charset(None)
sig.set_param('name', 'signature.asc')
sig.add_header('Content-Description', 'OpenPGP digital signature')
sig.add_header('Content-Disposition','attachment', filename='signature.asc')
print str(signature)
sig.set_payload(str(signature))
return sig
def sendMail(send_to, subject, text, xml):#files=[]):
payload = MIMEMultipart()
payload.set_param('protocol', 'application/pgp-signature')
payload.set_param('micalg', 'pgp-sha256') ####!!! GET THIS FROM KEY!
payload.preamble = 'This is an OpenPGP/MIME signed message.'
payload['From'] = "from@....."
payload['To'] = COMMASPACE.join(send_to)
payload['Date'] = formatdate(localtime = True)
payload['Subject'] = Header(subject, "utf-8")
payload.attach( MIMEText(text+"\n","plain", "utf-8") )
attachement = MIMEBase('application', "octet-stream")
attachement.set_payload( xml )
#encoders.encode_base64(attachement)
attachement.add_header('Content-Disposition', 'attachment; filename="test.xml"')
payload.attach(attachement)
# signature
payload.attach(createSignature(payload))
encrypted_mail=encrypt(payload.as_string())
# send mail
smtp = smtplib.SMTP("localhost", 25)
smtp.sendmail(payload['From'], send_to, encrypted_mail)
smtp.quit() |
quelqu'un s'y connait en gnupg ?
merci