-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsend_email_v3.py
58 lines (44 loc) · 2.12 KB
/
send_email_v3.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import pandas as pd
from datetime import datetime, timedelta
import smtplib
import os
from email.message import EmailMessage
def send_email():
# SPREADSHEET DATA SOURCE
df = pd.read_excel('spreadsheet.xlsx', sheet_name='tab name')
today_plus_10 = datetime.today() + timedelta(days=10)
today_plus_10 = today_plus_10.date()
today = datetime.today()
today = today.date()
for index, row in df.iterrows():
expiration_date_timestamp =row['Valid Until']
expiration_date = expiration_date_timestamp.to_pydatetime()
expiration_date = expiration_date.date()
activation_date_timestamp =row['Activation Date']
activation_date = activation_date_timestamp.to_pydatetime()
activation_date = activation_date.date()
delta = today_plus_10 - expiration_date
if delta.days > 0 and expiration_date.day - today.day > 0 and str(row['Acknowledgment']).lower() == 'nan':
# LIST OF EMAILS TO SEND TO
email_list = ['email address 1, email address 2, ...']
msg = EmailMessage()
msg['Subject'] = f'A LICENÇA DO CLIENTE {row["Client"]} ({row["Environment"]}) ESTÁ PARA EXPIRAR (EM {expiration_date.day - today.day} DIAS)'
# EMAIL ADDRESS THAT SENDS THE EMAIL
msg['From'] = 'email address that sends the email'
msg['To'] = email_list
msg.set_content(f'Uma licença do cliente {row["Client"]} de irá expirar em {expiration_date} \n\n \
Ambiente: {row["Environment"]} \n\n \
Natureza da Licença: {row["Subject"]} \n\n \
Data de Ativação: {activation_date} \n\n \
Número Serial: {row["Serial Number"]} \n\n \
Chave: {row["Key"]}')
with smtplib.SMTP('smtp.outlook.com', 587) as smtp:
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
# EMAIL LOGIN
smtp.login('email address for login', 'email password for login')
smtp.send_message(msg)
#print('A licença do cliente', row['Client'],'vai expirar em' , expiration_date)
if __name__ == '__main__':
send_email()