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 перестроить индекс с нуля, включая добавленные вами сообщения. (Если, конечно, вы не испортили их в процессе.)

Другие вопросы по тегам