Запуск Python Email Script as Root Изменение имен вложений - PullRequest
0 голосов
/ 03 марта 2020

Я работал над этой Python программой, работающей на Raspberry Pi, которая подключается к преобразователю уровня MBus через последовательное соединение RS232, чтобы прочитать все счетчики на шине и поместить данные в формат CSV и отправить их по электронной почте. .

Программное обеспечение прекрасно работает, но у меня только одна проблема с вложениями электронной почты, когда программа работает как root. Он настроен на запуск при загрузке в файле /etc/rc.local с &, потому что программа никогда не завершается.

При запуске Pi он запускает программу как Root, которая при отправке электронного письма изменяет имена вложений в «Untitled attachment XXXXX.txt» . Я приложил фрагмент кода вложения электронной почты, а также снимок экрана с полученными письмами. Библиотека электронной почты, которую я использую: Yagmail.

Вложения электронной почты со сценарием не работают как Root

enter image description here

Вложения электронной почты со скриптом, работающим как Root

enter image description here

Код

filenames = []
        if(CCFV == 0):
            filenames = [RD_File, LOG_Dir]
        if(CCFV == 1):
            filenames = [RD_File, LOG_Dir, EACC_File]

yag.send(
            to=receiver,
            subject=subj,
            contents=body,
            attachments=filenames
        )
...