Ich steuere ein Python-Script aus meiner Xojo/Realbasic App, da es keine gute Imap-Library für Xojo/Realbasic gibt. ImapClient funktioniert sehr gut, bis auf das selektieren von Mailboxen mit Umlauten. Da bekomme ich für meine Testmailbox mit dem schönen Namen "mime mäils" immer die Fehlermeldung, daß die Mailbox nicht selektiert werden kann. Wenn ich das Script direkt in Pycharm ausführe, dann funktioniert es. Sogar im Terminal funktioniert es. Ich denke, das Problem kommt daher, mit welchem Encoding die Daten übergeben werden. Aber im Moment habe ich keine Idee, was Python da macht.
Mac OS 10.9, Python 2.7
Code: Alles auswählen
from __future__ import unicode_literals
from imapclient import IMAPClient
import sys
import base64
import string
if len(sys.argv) == 6:
host = sys.argv[1] #’xxxx'
username = sys.argv[2] #'xxxx'
password = sys.argv[3] # 'xxxxx'
password = base64.b64decode(password)
ssl = sys.argv[4] # 'True
mailbox = base64.b64decode(sys.argv[5])
else:
host = ‘xxxxx'
username = ‘xxxxxx'
password = ‘xxxxx'
mailbox = 'Ablage:::mime ma\u0308ils'
ssl = True
imap_connection = IMAPClient(host, use_uid = False, ssl = ssl)
try:
imap_connection.login(username, password)
mailbox = string.replace(mailbox, ":::", imap_connection.get_folder_delimiter())
select_info = imap_connection.select_folder(mailbox)
no_of_mails = select_info['EXISTS']
print('noofmails' + str(no_of_mails))
except IMAPClient.Error, err:
print 'error:' + str(err)
exit
Code: Alles auswählen
mailbox = 'Ablage:::mime ma\u0308ils'
durch
mailbox = 'Ablage:::mime m&AOQ-ils'
mailbox = imap_utf7.decode(mailbox)
mailbox = unicode(mailbox)
Hat irgendjemand eine Idee, was ich hier falsch mache?
Grüße
Beatrix Willius