Я використовую машину Linux (Debian) і встановлюю на ній fetchmail і procmail. Зараз він здатний отримувати повідомлення, надіслані на мою адресу Gmail кожну хвилину. Проте файл, отриманий за допомогою fetchmail, не є звичайним HTML-файлом, але містить символи, що друкуються за допомогою цитат.
Моя мета полягає в тому, щоб мати можливість отримати вихідний код HTML електронної пошти, так само, як я б міг зробити, якщо я відкрию Outlook у Windows, клацніть правою кнопкою миші на пошті і виберіть "Показати вихідний код".
Також важливо, щоб це було можливо зробити програмно, оскільки я хочу автоматизувати завдання.
Редагувати: У моєму початковому питанні не вистачає точності, тому тут наведено більше інформації про мою проблему. Один з моїх клієнтів надсилає мені поштову електронну пошту щодня, що містить таблицю з даними про продаж попереднього робочого дня. Зараз, кожен день, я повинен скопіювати дані з електронного листа в файл EXCEL. Однак, оскільки це дуже повторюване завдання, я хочу мати рішення, яке може зробити це для мене автоматично. Я знаю, як записати дані в файл EXCEL з Python, і я маю деяку уяву, як отримати інформацію з HTML-документа з деякими бібліотеками Python.
Тому я вирішив використовувати crontab з Linux, fetchmail і procmail, щоб зробити наступне: кожну хвилину я перевіряю свій поштовий ящик, якщо отримав листа від мого клієнта. Якщо це так, я запускаю скрипт python на цьому файлі, щоб отримати інформацію. Після цього я вводжу цю інформацію до файлу EXCEL і надсилаю її собі.
Сценарій прекрасно працює на моєму ПК з вихідним кодом HTML електронної пошти, яку я отримав від Outlook. Однак на моїй машині Linux вона не працює. Я відкрив вихідний код файлу електронної пошти з моєї машини Linux і з'ясував, що частина HTML-коду була змінена.
fetchmail
має бути у форматі MIME для багатоабонентських повідомлень (що він містить "символи, що містять цитований текст"). Багато листів клієнтів надсилати електронну пошту як в текстовому, так і в HTML, як різні частини MIME, але немає жодної гарантії, що пошта, адресована вам, містить HTML взагалі (якщо, наприклад, gmail не додає його, якщо вона відсутня). Можна використовуватиmetamail
для вилучення різних частин, включаючи HTML.