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 : Sélectionner tout - Visualiser dans une fenêtre à part
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