I am writing a Python module to generate an outlook e-mail with an attachment using win32com. All works fine except for the formatting of the HTMLBody. As far as I have researched, it is impossible to do the advance formatting of the HTMLBody in Python, you can only do it in html. I have used the following link's code as my primary concern was for my body to have the current date and time whenever an e-mail is generated https://www.geeksforgeeks.org/html-datetime-attribute/. def __Emailer(subject, recipient, cc, auto=True): import win32com.client as win32 outlook = win32.Dispatch('outlook.application') mail = outlook.CreateItem(0) mail.To = recipient mail.CC = cc mail.Subject = subject mail.HTMLBody = """ <html> <head></head> <body> <h1>GeeksforGeeks</h1> <h3>Approach 2: Using <time> Tag with JavaScript</h3> <time id="current-time"></time> <script> function updateTime() { const now = new Date(); const timeElement = document.getElementById("current-time"); const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }; timeElement.dateTime = now.toISOString(); timeElement.innerHTML = 'Today is: ${now.toLocaleDateString(undefined, options)}, Time: ${now.toLocaleTimeString()'}; } setInterval(updateTime, 1000); updateTime(); </script> <\body> </html> """ mail.Attachments.Add(Source=r"C:\Users\project.xlsx") if auto: mail.Display(True) else: mail.open But in my output I only get these h1 and h3 lines. So, basically, the inside of the <\script> does not work. Output) Continue reading...