import smtplib, ssl
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
#import mariadb

# Info de connexion -----------------------------------------------------

smtp_address = 'ssl0.ovh.net'
smtp_port = 465

email_address = 'courspasquet@mathweb.fr'
email_password = 'guillaume$73'

# Liste de diffusion

destinataires = [ 'guilhem.dezanneau@centralesupelec.fr',
                  'thibaud.beroud@dbmail.com',
                  'sophilz@live.fr',
                  'ghisbois@gmail.com',
                  'carole.legat@outlook.fr',
                  'pascallefaou@free.fr',
                  'vincent.jarnage@gmail.com',
                  'sultana.saidi@gmail.com',
                  'k.afrounn@gmail.com',
                  'nabikad@outlook.com',
                  'cyrille.thierry@gmail.com']

#destinataires = [ 'stephane@mathweb.fr' ]
                  
for famille in destinataires:
    # création du message --------------------------------------------------

    message = MIMEMultipart("alternative")
    message["Subject"] = "Collecte de sujets"
    message["From"] = email_address
    message["To"] = famille
    
    texte = '''Bonjour.

Comme chaque année, l'éditeur pour lequel j'écris des livres lance une campagne de collecte de sujets de:
* Maths
* SVT
* Sciences Physiques
* NSI

pour les classes de 2nde, 1ère, Terminales (enseignement de spécialité ET maths expertes).
Il offre 15 € par lot de sujets.

En partenariat avec cet éditeur, je collecte vos sujets pour les lui envoyer en un seul mail.
Les familles qui ne m'ont pas déjà envoyé de sujets au cours de l'année scolaire et qui m'enverront des sujets se verront attribuer une remise sur les cours à venir (15 € de remise par lot de sujets acceptés).

Si vous m'avez déjà envoyé des sujets, la remise sera automatique lors du prochain bilan.

Si vous ne faites plus appel à mes services, un virement pourra être en votre faveur (dans ce cas, n'oubliez pas de joindre un RIB).

Si vous êtes intéressés, merci de m'envoyer dans un fichier compressé (zip par exemple) les scans, en me précisant le nom du lycée ainsi que sa ville.

Pour plus d'informations, ces sujets servent à publier les livres de la collection Les Interros des Lycées, dont je suis l'un des auteurs.

N'hésitez pas à revenir vers moi pour toute demande complémentaire.

    Très cordialement,
    Stéphane Pasquet
    https://courspasquet.fr
    Mes disponibilités sont visibles sur https://calendar.google.com/calendar/embed?src=stephanepasquet.mathweb%40gmail.com&ctz=Europe%2FParis
    '''

    html = f'''
    <html>
    <body>
    Bonjour.

Comme chaque année, l'éditeur pour lequel j'écris des livres lance une campagne de collecte de sujets de:
<ul>
<li>Maths</li>
<li>SVT</li>
<li>Sciences Physiques</li>
<li>NSI</li>
</ul>

pour les classes de 2nde, 1ère, Terminales (enseignement de spécialité ET maths expertes).
Il offre 15 € par lot de sujets.

<p>En partenariat avec cet éditeur, je collecte vos sujets pour les lui envoyer en un seul mail.
Les familles qui ne m'ont pas déjà envoyé de sujets au cours de l'année scolaire et qui m'enverront des sujets se verront attribuer une remise sur les cours à venir (15 € de remise par lot de sujets acceptés).
</p>
<p>
Si vous m'avez déjà envoyé des sujets, la remise sera automatique lors du prochain bilan.
</p>
<p>
Si vous ne faites plus appel à mes services, un virement pourra être en votre faveur (dans ce cas, n'oubliez pas de joindre un RIB).
</p>
Si vous êtes intéressés, merci de m'envoyer dans un fichier compressé (zip par exemple) les scans (il faut qu'ils soient de bonne qualité sans quoi l'éditeur les refusera), en me précisant le nom du lycée ainsi que sa ville.
<p>
Pour plus d'informations, ces sujets servent à publier les livres de la collection Les Interros des Lycées, dont je suis l'un des auteurs.
</p>
<p>
N'hésitez pas à revenir vers moi pour toute demande complémentaire.
</p>
<p>Je profite de ce message pour souhaiter bon courage à celles et ceux qui vont passer le bac, et bonnes vacances aux autres!</p>

<p>
    <p>Très cordialement,</p>
    <p>Stéphane Pasquet<br/>
    <a href='https://courspasquet.fr'>https://courspasquet.fr</a><br/>
    Mes disponibilités sont visibles sur <a href='https://calendar.google.com/calendar/embed?src=stephanepasquet.mathweb%40gmail.com&ctz=Europe%2FParis'>mon agenda Google</a></p>
    </body>
    </html>
    '''

    texte_mime = MIMEText(texte, 'plain')
    html_mime = MIMEText(html, 'html')

    message.attach(texte_mime)
    message.attach(html_mime)
    
    # envoie du message
    
    context = ssl.create_default_context()

    with smtplib.SMTP_SSL(smtp_address, smtp_port, context=context) as server:
        server.login(email_address, email_password)
        server.sendmail(email_address, famille, message.as_string())
    print( f'Message envoyé à {famille}.' , end = '\n' )

    
"""
# connexion à la bdd ------------------------------------------------------------

liste = []

try:
    conn = mariadb.connect(
        user="root",
        password="",
        host="localhost",
        database="courspasquet"
        
    )
    
    cur = conn.cursor()    
    cur.execute("SELECT nom,prenom,email FROM clients WHERE actif=1")
    
    for nom,prenom,email in cur:
        liste.append( (nom,prenom,email) )
    
except mariadb.Error as e:
    print(f"Error connecting to MariaDB Platform: {e}")
"""
