Python не может добавить сообщение в Thunderbird Mbox
Я использую python 2.7 на ubuntu 16.04.
Я использую python для чтения писем из файлов mbox на моем компьютере, которые были созданы thunderbird. Теперь я хочу добавить сообщения в эти файлы mbox. Я выключаю thunderbird, а затем пытаюсь запустить свой скрипт python из командной строки. Скрипт python вообще не выдает никаких сообщений об ошибках, но я не вижу, чтобы в файл mbox добавлялись новые сообщения, когда я открываю thunderbird.
Я действительно посмотрел, есть ли у меня проблема с разрешениями. Я изменил права доступа к файлу mbox в Linux на: просмотр содержимого = любой, изменение содержимого = любой, выполнение = любой.
Я запускаю свой скрипт python в режиме sudo.
Вот мой код, который я пробовал:
mboxfile = "/home/jan/.thunderbird/gkzlvipz.default/ImapMail/mail.jan.info/INBOX"
print("opening: "+mboxfile)
mbox = mailbox.mbox(mboxfile)
mbox.lock()
try:
print("Trying:Begins")
msg = mailbox.mboxMessage()
msg.set_unixfrom('author Sat Feb 7 01:05:34 2020')
msg['From'] = 'info@jan.info'
msg['To'] = 'ljan@gmail.com'
msg['Subject'] = 'JL Python Sample message 1'
msg.set_payload('This is the body.\nFrom (should be escaped).\nThere are 3 lines.\n')
mbox.add(msg)
mbox.flush()
print("Trying:Ends")
except Exception as e:
# Just print(e) is cleaner and more likely what you want,
# but if you insist on printing message specifically whenever possible...
Print("Exception - FAILED")
if hasattr(e, 'message'):
print("Error 1: " + e.message)
else:
print("Error 2: " + e)
finally:
print("Finally")
mbox.unlock()
sys.exit("PYTHON ENDS: TEST EMAIL SEND FINISHED")
Результат, который я получаю при запуске приведенного выше сценария:
*** PYTESTTHUNDERBIRD BEGINS ***
opening: /home/jan/.thunderbird/gkzlvipz.default/ImapMail/mail.jan.info/INBOX
Trying:Begins
Trying:Ends
Finally
PYTHON ENDS: TEST EMAIL SEND FINISHED
Я не знаю, что делаю не так и почему не получаю сообщений об ошибках.
Буду очень благодарен за любую помощь.
Спасибо.
1 ответ
Сообщения, которые вы добавили в файл mbox, не отображаются в Thunderbird, потому что вы не обновили индексный файл (.msf) для этой папки.
В Thunderbird щелкните правой кнопкой мыши имя папки и выберите «Свойства». На вкладке «Общая информация» прочтите аннотацию рядом с кнопкой «[Восстановить папку]». Затем щелкните папку. Это заставит Thunderbird перестроить индекс с нуля, включая добавленные вами сообщения. (Если, конечно, вы не испортили их в процессе.)