Prepare for mailing list #2

tz
Laurent 1 year ago
parent b0f7c34bc8
commit 3b1154b54f
  1. 45
      tournaments/views.py

@ -13,6 +13,7 @@ from tournaments.models.device_token import DeviceToken
from .models import Court, DateInterval, Club, Tournament, CustomUser, Event, Round, GroupStage, Match, TeamScore, TeamRegistration, PlayerRegistration, Purchase, FailedApiCall from .models import Court, DateInterval, Club, Tournament, CustomUser, Event, Round, GroupStage, Match, TeamScore, TeamRegistration, PlayerRegistration, Purchase, FailedApiCall
from .models import TeamSummon from .models import TeamSummon
from datetime import datetime, timedelta from datetime import datetime, timedelta
import time
from django.template import loader from django.template import loader
from datetime import date from datetime import date
@ -438,32 +439,52 @@ def send_email_to_jap_list():
# Open the CSV file # Open the CSV file
with open('tournaments/static/misc/jap-test.csv', 'r') as file: with open('tournaments/static/misc/jap-test.csv', 'r') as file:
# Create a CSV reader object
csv_reader = csv.reader(file) csv_reader = csv.reader(file)
# Optionally, skip the header row if your CSV has one def log_error(message):
# next(csv_reader) with open('email_errors.log', 'a') as log_file:
timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
log_file.write(f"{timestamp}: {message}\n")
# Iterate over each row in the CSV batch = []
for row in csv_reader: for row in csv_reader:
# Check if the row has at least 4 elements
if len(row) >= 4: if len(row) >= 4:
# Get the second and fourth values
name = row[2] name = row[2]
mail = row[3] mail = row[3]
batch.append((mail, name))
send_email(mail, name) if len(batch) == 10:
for email, recipient_name in batch:
# Print or process these values try:
print(f"Name: {name}, mail: {mail}") send_email(email, recipient_name)
print(f"Name: {recipient_name}, mail: {email}")
except Exception as e:
error_message = f"Error sending email to {email}: {str(e)}"
log_error(error_message)
print(error_message)
batch = []
time.sleep(2)
else: else:
print(f"Row doesn't have enough elements: {row}") print(f"Row doesn't have enough elements: {row}")
# Send any remaining emails in the last batch
for email, recipient_name in batch:
try:
send_email(email, recipient_name)
print(f"Name: {recipient_name}, mail: {email}")
except Exception as e:
error_message = f"Error sending email to {email}: {str(e)}"
log_error(error_message)
print(error_message)
def send_email(mail, name): def send_email(mail, name):
if name.lower() not in name:
name = ""
subject = "Test mailing list!" subject = "Tes tournois en toute simplicité avec Padel Club"
body = f"Salut {name},\n\nDésolé pour ce mail un peu intrusif. Je suis JAP en région PACA depuis maitenant plus d’un an. Lorsque j'ai démarré le métier je me suis retrouvé un peu sous l’eau, entre les messages d’inscriptions, la convocation des équipes, les imprévus qui cassent la structure du tournoi et bien d’autres…\nJ’ai rêvé d’avoir un outil qui me facilité la vie, et étant développeur de formation et j’ai entrepris la création d’une app pour gagner du temps. Mon app Padel Club est devenue une réalité récemment et j’aimerai évidemment le partager à tous, et aussi améliorer l’expérience joueur grâce à une information mieux partagée. \n\nJe ne te dérange pas plus longtemps, voici le lien de présentation de l’app iOS:\nhttps://padelclub.app/download/\n\nJe serai ravi d’avoir ton retour, si tu penses l’essayer, si tu penses qu’il manque quelque chose ou si quelque chose ne te convient pas. \nN’hésite pas à m’écrire ou m’appeler directement au 06 81 59 81 93." body = f"Salut !\n\nJe me permets de t'écrire car je suis JAP2 en région PACA et développeur, et je viens de lancer Padel Club, une app iOS qui facilite enfin l'organisation des tournois. Avec elle, tu peux convoquer rapidement, simuler et programmer tes structures, diffuser tous les résultats à tous les joueurs, et ce depuis un iPhone.\n\nTu peux l'essayer gratuitement pour découvrir tout son potentiel ! Télécharge l'app ici et teste la dès ton prochain tournoi: https://padelclub.app/download/\n\nJe suis disponible pour échanger avec toi par mail ou téléphone au 06 81 59 81 93 et voir ce que tu en penses.\nÀ bientôt j'espère !\n\nRazmig"
email = EmailMessage(subject, body, to=[mail]) email = EmailMessage(subject, body, to=[mail])
email.send() email.send()

Loading…
Cancel
Save