Skip to content
Snippets Groups Projects
Commit 40035205 authored by Colombain Agathe's avatar Colombain Agathe
Browse files

Upload New File

parent 39f4540f
No related branches found
No related tags found
No related merge requests found
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import random
from dotenv import load_dotenv
import os
##Les noms des participants et leurs mails sont ici fictifs pour ne délivrer aucune information personnelle
participants_names = ['Alice', 'Bob', 'Charlie', 'Dana']
participants_emails = ['alice@example.com', 'bob@example.com', 'charlie@example.com', 'dana@example.com']
def send_mail(email, subject, body):
smtp_server = 'smtp.gmail.com'
smtp_port = 587
load_dotenv()
smtp_username = os.getenv("SMTP_USERNAME")
smtp_password = os.getenv("SMTP_PASSWORD")
message = MIMEMultipart()
message['From'] = smtp_username
message['To'] = email
message['Subject'] = subject
message.attach(MIMEText(body, 'plain'))
with smtplib.SMTP(smtp_server, smtp_port) as server:
server.starttls()
server.login(smtp_username, smtp_password)
server.sendmail(smtp_username, email, message.as_string())
def tirageausort(names, emails):
results = []
while True:
shuffled_names = names.copy()
random.shuffle(shuffled_names)
if all(giver != receiver for giver, receiver in zip(names, shuffled_names)):
break
for i, name in enumerate(names):
giver = names[i]
receiver = shuffled_names[i]
receiver_email = emails[names.index(receiver)]
results.append((i, receiver))
return results
def secretsanta(names, emails):
tirage = tirageausort(names, emails)
subject = "Super Secret Santa de la squad !!! Regarde qui tu as pioché ici ! "
for i, receiver in tirage:
body = f"""
Bonjour {names[i]},
Cette année, tu es le Père Noël secret de {receiver} dans notre squad ! 🎅🎁
On a fixé un budget d'environ 20-25€, mais ne t'inquiète pas si tu fais moins ou que tu dépasses un peu, l'essentiel c'est de faire plaisir ! 🌟
Allez, c'est parti ! Va t'éclater à choisir un super cadeau pour ton ami secret ! 🎉
Petit message de l'organisatrice :
Hello les copains, c'est Agathe ! Cette année, j'ai décidé de coder moi-même le tirage au sort du Père Noël secret.
Comme vous le voyez, vous recevez un mail de ma part, mais c'est bel et bien mon ordinateur qui a choisi votre personne et qui vous indique qui vous avez.
Je n'ai aucun pouvoir sur le tirage et je ne sais pas qui vous avez, donc merci de garder le secret et de ne pas répondre à ce mail !
Joyeux Père Noël secret ! 🎄🎅
"""
print(emails[i])
send_mail(emails[i], subject, body)
secretsanta(participants_names, participants_emails)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment