Sure! Below is a simple script to automate sending daily email reports using Python. This script utilizes the smtplib library for sending emails and the schedule library for scheduling tasks.
its a paython script
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import schedule
import time
def send_email():
# Email configuration
sender_email = 'your_email@example.com'
receiver_email = 'recipient@example.com'
password = 'your_password'
subject = 'Daily Report'
# Email content
message = MIMEMultipart()
message['From'] = sender_email
message['To'] = receiver_email
message['Subject'] = subject
body = "This is your daily report."
message.attach(MIMEText(body, 'plain'))
# Sending the email
with smtplib.SMTP('smtp.example.com', 587) as server:
server.starttls()
server.login(sender_email, password)
text = message.as_string()
server.sendmail(sender_email, receiver_email, text)
# Schedule the email to be sent daily at a specific time
schedule.every().day.at("09:00").do(send_email)
while True:
schedule.run_pending()
time.sleep(60) # Sleep for 1 minute
To set up and run this script:
Install necessary libraries:
pip install schedule
Replace the email configurations: Replace your_email@example.com, recipient@example.com, your_password, and smtp.example.com with your email address, recipient's email address, email password, and SMTP server address respectively.
Customize the email content: Modify the body variable to include your desired report content.
Set the schedule: Adjust the schedule.every().day.at("09:00").do(send_email) line to set the time you want the email to be sent daily.
Run the script: Save the script with a .py extension and run it using Python. The script will keep running indefinitely and will send the daily email report at the specified time.
Make sure to keep your email credentials secure, preferably by storing them in environment variables or a separate configuration file that is not included in your code repository.
0 Comments