Forum Programmation.python Envoyez mail et supprimer un fichier après.

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
2
fév.
2015

Bonjour j'ai un soucis avec un code en python qui me permet d'envoyé un mail d'alerte avec un raspberry. Ce code fonctionne mais je voudrais pouvoir une fois le mail envoyé supprimer ou vider un fichier texte ( SO-state.txt )Pouvez vous m'aider merci.

#!/usr/bin/env python
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
from email import Encoders
import os

USERNAME = "adress@gmail.com"
PASSWORD = "123456"
NAME = "PiHome"
SOstate='/home/www/logs/SO-state.txt'

def sendMail(to, subject, text, files=[]):
    assert type(to)==list
    assert type(files)==list

    msg = MIMEMultipart()
    msg['From'] = USERNAME
    msg['To'] = COMMASPACE.join(to)
    msg['Date'] = formatdate(localtime=True)
    msg['Subject'] = subject

    msg.attach( MIMEText(text) )

    for file in files:
        part = MIMEBase('application', "octet-stream")
        part.set_payload( open(file,"rb").read() )
        Encoders.encode_base64(part)
        part.add_header('Content-Disposition', 'attachment; filename="%s"'
                       % os.path.basename(file))
        msg.attach(part)

    server = smtplib.SMTP('smtp.gmail.com:587')
    server.ehlo_or_helo_if_needed()
    server.starttls()
    server.ehlo_or_helo_if_needed()
    server.login(USERNAME,PASSWORD)
    server.sendmail(USERNAME, to, msg.as_string())
    server.quit()


sendMail( ["moi@free.fr"],
        "PiHome",
        "Sonnette",
        ["/home/www/capture/sonnette.jpg"] )
            # Suppression de SOstate
deletefile(SOstate)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.