Untitled
unknown
plain_text
2 years ago
3.4 kB
9
Indexable
import smtplib from email.mime.text import MIMEText def send_email(smtp_server, smtp_port, smtp_username, smtp_password, sender_email, sender_name, receiver_email, subject, message): msg = MIMEText(message, 'html') msg['Subject'] = subject msg['From'] = f"{sender_name} <{sender_email}>" msg['To'] = ', '.join(receiver_email) with smtplib.SMTP(smtp_server, smtp_port) as server: server.login(smtp_username, smtp_password) server.sendmail(sender_email, receiver_email, msg.as_string()) def read_smtp_servers(file_path): try: with open(file_path, 'r', encoding='utf-8') as file: return [line.strip().split(':') for line in file.readlines()] except FileNotFoundError: print(f"Erreur: Le fichier {file_path} n'a pas été trouvé.") return [] except Exception as e: print(f"Erreur lors de la lecture du fichier {file_path}: {e}") return [] def read_recipients(file_path): try: with open(file_path, 'r', encoding='utf-8') as file: return [line.strip().split(':') for line in file.readlines()] except FileNotFoundError: print(f"Erreur: Le fichier {file_path} n'a pas été trouvé.") return [] except Exception as e: print(f"Erreur lors de la lecture du fichier {file_path}: {e}") return [] if __name__ == "__main__": # Lire les serveurs SMTP à partir du fichier smtp_servers = read_smtp_servers('smtp_servers.txt') # Lire la liste des destinataires et expéditeurs à partir du fichier recipients = read_recipients('recipients.txt') if not smtp_servers or not recipients: print("Abandon de l'envoi d'e-mails en raison d'erreurs de configuration.") else: for recipient_and_sender in recipients: try: recipient, sender_email = recipient_and_sender sender_name = 'TelsSTRAAA' # Ajouter le nom de l'expéditeur subject = 'Test subject' with open('lettre.html', 'r', encoding='utf-8') as file: message = file.read() for server_info in smtp_servers: try: smtp_server, smtp_port, smtp_username, smtp_password = server_info send_email( smtp_server, int(smtp_port), smtp_username, smtp_password, sender_email, sender_name, [recipient], subject, message ) print(f"Email envoyé avec succès à {recipient} via {smtp_server}:{smtp_port}. Expéditeur: {sender_name} <{sender_email}>") except smtplib.SMTPAuthenticationError: print(f"Échec de l'envoi d'e-mail à {recipient} via {smtp_server}:{smtp_port}. Erreur d'authentification.") except Exception as e: print(f"Échec de l'envoi d'e-mail à {recipient} via {smtp_server}:{smtp_port}. Erreur: {e}") except ValueError: print("Erreur: Le fichier recipients.txt doit contenir des lignes avec le format 'destinataire:expediteur'.")
Editor is loading...
Leave a Comment