From bf2d1b3f99ad247d784b654804039a90e33dc305 Mon Sep 17 00:00:00 2001 From: Dan Dembinski Date: Tue, 23 Mar 2021 15:23:52 -0400 Subject: [PATCH] updated the main menu loop so that it's possible to send live emails. Converting the OrderDate variable to a time object it can be formatted in the email body. Switched to send_message to handle Cc and Bcc better. Now sending from Matt's email. Test email set to external address. Matt cannot use mail relay for external mail, waiting for Keystone to advise. --- main.py | 4 ++-- sendEmail.py | 23 ++++++++++++----------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/main.py b/main.py index 7a5d018..30833d9 100644 --- a/main.py +++ b/main.py @@ -11,9 +11,9 @@ while running is True: invoiceNumber = str(input()) InvoiceDatabase.load_sheet(invoiceNumber) elif option == 2: - sendEmail.send_email(True,'ALL') + sendEmail.send_email(True, 'ALL') elif option == 3: - sendEmail.send_email() + sendEmail.send_email(False, 'ALL') elif option == 4: running = False else: diff --git a/sendEmail.py b/sendEmail.py index e819a5c..1cad2c9 100644 --- a/sendEmail.py +++ b/sendEmail.py @@ -9,14 +9,15 @@ import InvoiceDatabase def send_email(test, record): port = 25 - smtp_server = "gll-com.mail.protection.outlook.com" + smtp_server = 'gll-com.mail.protection.outlook.com' + # smtp_server = 'mail.keystonerelay.com' orders = InvoiceDatabase.just_work() for each in orders: info = InvoiceDatabase.record_lookup(each) OrderNumber = info[0] - OrderDate = info[1] + OrderDate = datetime.strptime(info[1], '%Y-%m-%d %I:%M:%S') UserLogon = info[2] Name = info[3] + ' ' + info[4] ChargeCode = info[5] @@ -36,7 +37,6 @@ def send_email(test, record): ShippingState = info[14] ShippingPostalCode = info[15] - # if ShippingCompany != 'None' and ShippingAddress2 == 'None': block = '''
{name} @@ -56,7 +56,7 @@ def send_email(test, record): BORDER-LEFT: #838282 1px solid; MARGIN-TOP: 10px"" borderColor=#838282 cellSpacing=0 cellPadding=5 rules=all border=1> QuantityDocument ID - Product NameSales + Product NameSales ''' items = InvoiceDatabase.all_items(OrderNumber) @@ -135,7 +135,7 @@ def send_email(test, record):

Order Number: {OrderNumber}  -
Order Date: {OrderDate}  +
Order Date: {OrderDate:%m-%d-%Y %I:%M:%S} 
User Logon: {UserLogon} 
Name: {Name} 
Charge Code: {ChargeCode}  @@ -176,18 +176,19 @@ def send_email(test, record): msg = MIMEMultipart() msg['Subject'] = 'INVOICE ' + InvoiceNumber if test is True: - msg['To'] = 'ddembinski@gll.com' - msg['Cc'] = 'ddembinski@gll.com' - msg['Bcc'] = 'ddembinski@gll.com' + msg['To'] = 'dan.dembinski@gmail.com' else: msg['To'] = InvoiceEmailAddress - msg['From'] = 'ddembinski@gll.com' + msg['Cc'] = 'Carrie Higgins ' + msg['Bcc'] = 'ddembinski@gll.com' + msg['From'] = 'Matt MulQueeny ' + msg.add_header('Content-Type', 'text/html') msg.attach(bodyHTML) - try: with smtplib.SMTP(smtp_server, port, timeout=120) as server: - server.sendmail(msg['From'], msg['To'], msg.as_string()) + # server.sendmail(msg['From'], msg['To'] + ',' + msg['Cc'] + ',' + msg['Bcc'], msg.as_string()) + server.send_message(msg) except Exception as e: print(e)