Commit 0c3f0325 by arun.uday

version 1

parents
# Default ignored files
/shelf/
/workspace.xml
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (task3)" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/task3.iml" filepath="$PROJECT_DIR$/.idea/task3.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/venv" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
# Reading excel and performing operations
from scripts.services.send_mail import create_mail
print("Using python to send mail and add attachments")
# xnoeryrnirtbecdg
create_mail()
# host
server_host = 'smtp.gmail.com'
# port
port = 465
# reading excel file contents
import pandas as pd
def email_content_excel():
data_task = pd.read_excel("scripts/utils/task3.xlsx")
column_mean = {}
max_column = {}
min_column = {}
for col in data_task.columns:
if col == 'Timestamp':
continue
else:
# timestamp of max values
timestamp_max = data_task['Timestamp'][data_task[col].idxmax()]
# timestamp of min values
timestamp_min = data_task['Timestamp'][data_task[col].idxmin()]
# max values of each columns
max_val = data_task[col][data_task[col].idxmax()]
# min values of each columns
min_val = data_task[col][data_task[col].idxmin()]
# appending mean, max, min in to dictionaries
column_mean.update({col: data_task[col].mean()})
max_column.update({col: [timestamp_max, max_val]})
min_column.update({col: [timestamp_min, min_val]})
return f'average values{column_mean} \n\n\nmaximum values: {max_column}, \n\n\nMinimum Value :{min_column}'
# reading excel file
import ssl
from email.message import EmailMessage
from scripts.core.handlers.excel_file_content import email_content_excel
def content_create(sender_name, receiver_email, subject):
mail = EmailMessage()
mail['From'] = sender_name
mail['To'] = receiver_email
mail['Subject'] = subject
body = email_content_excel()
mail.set_content(body)
context = ''
try:
with open("scripts/utils/task3.xlsx", "rb") as file:
file_data = file.read()
mail.add_attachment(file_data, maintype='application', subtype='xlsx', filename="task3.xlsx")
context = ssl.create_default_context()
except Exception as e:
print(e)
return mail, context
# connecting to smtp
import smtplib
from scripts.constants.server_constants import server_host, port
def mail_send(email_address, email_password, receiver_email, mail, context):
# connecting to server
try:
with smtplib.SMTP_SSL(server_host, port, context=context) as smtp:
smtp.login(email_address, email_password)
smtp.sendmail(email_address, receiver_email, mail.as_string())
except Exception as e:
print(e)
from scripts.core.handlers.mail_content import content_create
from scripts.core.handlers.mail_send_smtp import mail_send
# creating mails
def create_mail():
email_address = input("enter your email")
sender_name = input("Enter sender name")
email_password = input("Enter your password")
receiver_email = []
num_cc = int(input("Enter the number of receivers"))
while num_cc > 0:
receiver_email.append(input())
num_cc = num_cc - 1
subject = input("Enter your subject")
# mail contents
mail, context = content_create(sender_name, receiver_email, subject)
# send emails using smtp
mail_send(email_address, email_password, receiver_email, mail, context)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment