I am exploring in python to write email using exchangelib library with body content which contains a table content.
I have tried the code to add table in the body content.
import pandas as pd
import numpy as np
from exchangelib import Account, Credentials, Message, Mailbox
dfReport = pd.read_excel("test.xlsx")
FilteredData = dfReport[dfReport["ColumnID"].str.contains('MyCharacter')]
DataTable = pd.pivot_table(FilteredData ,index="Processor",values="TicketID",aggfunc=np.count_nonzero,margins=True)
EmailAdd = 'XXX@YYY.Z'
EmailPass = 'XXXXXX'
MyAccount = Account(EmailAdd,credentials=Credentials(EmailAdd,EmailPass),autodiscover=True)
MyMessage = Message(account=MyAccount, folder=MyAccount.sent,subject='Daily motivation', body=DataTable, to_recipients=[Mailbox(email_address='AAA@BBB.CC')])
MyMessage.send_and_save()
below demonstration is expected in message body:
Name Count
Item 1 53
Item 2 38
Item 3 123
Item 4 175
Item 5 212
but in outlook exchange email looks like this:
Name
Count
Item 1 53
Item 2 38
Item 3 123
Item 4 175
Item 4 212