Отправка нескольких строк pandas кадра данных по электронной почте python, предпочтительно с форматированием html - PullRequest
0 голосов
/ 22 января 2020

У меня есть программа, которая выполняет следующие действия:
1. Вход на наш почтовый сервер
2. Проверка почты от указанного c отправителя с прикрепленными файлами Excel
3. Загрузка файлов
4. Открывает их в pandas
5. Находит релевантную информацию для нашей команды / человека, для которого я разрабатываю это приложение для
6. Сортирует информацию по дате (Это время, когда наши серверы будут исправлены и когда они будут проходить техобслуживание)
7. Находит уникальные пары даты и времени и разбивает их на свои собственные кадры данных

ТЕПЕРЬ последний шаг - мне нужно отправлять встречи через Outlook. Все в порядке, я это построил, но я не уверен, как заставить тело содержать то, что я хочу. По сути, я хочу добавить полные кадры данных для этой уникальной пары день / время, которые будут добавлены в виде таблицы в тексте сообщения. Как я могу это сделать? Сейчас я просто думаю о создании большой строки с циклами for, но я знаю, что pandas и электронная почта являются двумя наиболее разработанными и мощными модулями, поэтому мне очень интересно, могу ли я экспортировать таблицу и добавить ее.

Я хочу использовать outlookemail.HTMLBody = dataframe.to_html(), но я ошибаюсь здесь

def send_appointment(day, times, newframe):
    if len(newframe)>0:
        outlook = win32.Dispatch('outlook.application')
        newmail = outlook.CreateItem(1)
        newmail.Start = day+' '+times
        newmail.Subject = 'Server Patching'
        newmail.Duration = 60
        html_string = (newframe.to_html())
        print(html_string)
        newmail.help()
        newmail.HTMLBody = html_string
        #for xy in np.arange(len(newframe)):


        mail.Location = 'redacted'
        mail.MeetingStatus = 1
        mail.Recipients.Add('redacted')
        mail.Send()

1 Ответ

0 голосов
/ 22 января 2020

В соответствии с https://docs.microsoft.com/en-us/office/vba/api/outlook.mailitem.htmlbody это существует для элементов, не связанных с назначением, или, по крайней мере, для обычных почтовых отправлений, но при задании его в качестве элемента назначения оно теряет свойство HTMLBody https://docs.microsoft.com/en-us/office/vba/api/outlook.appointmentitem

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...