Creato da pastuweb.com
Share My Page
My Social Accounts
Account FaceBook Account LinkedIn Account Twitter Account Google Plus Account Git Hub

Per prima cosa creiamo l'alberatura su File System:

cd /home/<nome_utente>

chmdir esegui

cd esegui

chmdir python

chmdir sh

 

Ora scriviamo il codice python, il file si chiamerà inviaEmailAllegato.py:

cd /home/<nom_utente>/esegui/python

nano inviaEmailAllegato.py

Incollate questo codcie con le opportune modifiche.

Questo accrocchio l'ho usato sul mio sito perchè non riuscivo a settare il Mail Server di Liferay, ogni giorno alle 8:00 e alle 20:00 mi manda un resoconto di quelli che hanno cercato di contattarmi attraverso il form Contattami in Chi Siamo di AppuntiVari.net smiley

Tornando a noi:

#!/usr/bin/python

from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage
import smtplib
import os
 
mittente = "server@appuntivari.net"
destinatario = "francesco.pasturenzi@gmail.com"
oggetto = "AppuntiVari.net - Rischieste di informazioni"
 
try:
        msg = MIMEMultipart()
        msg.attach(MIMEText(file("/home/documenti/allegatoRichieste.txt").read()))
        msg["From"] = mittente
        msg["To"] = destinatario
        msg["Subject"] = oggetto
 
        # to send
        mailer = smtplib.SMTP()
        mailer.connect()
        mailer.sendmail(mittente, destinatario, msg.as_string())
        mailer.close()
 
        #elimina file - reset
        os.remove("/home/documenti/allegatoRichieste.txt")
 
except IOError:
        contenuto = "Nessuno HA scritto da AppuntiVari.net"
        print contenuto
        msg = MIMEText(contenuto)
        msg["From"] = mittente
        msg["To"] = destinatario
        msg["Subject"] = oggetto
        mailer = smtplib.SMTP()
        mailer.connect()
        mailer.sendmail(mittente, destinatario, msg.as_string())
        mailer.close()
 
Poi:
chmod 777 inviaEmailAllegato.py
 
Dopodichè creiamo il file .sh eseguibile:
 
nano /home/<nome_utente>/esegui/sh/scriptInviaEmailAllegato.sh
 
#!/bin/sh
python /home/<nome_utente>/esegui/python/inviaEmailAllegato.py
 
Poi:
chmod 777 scriptInviaEmailAllegato.sh
 
Adesso scheduliamo l'esecuzione:
 
crontab -e
se possibile scegliere nano
 
Incollare:
 
0 8 * * * /home/pasturay/esegui/sh/scriptInviaEmailAllegato.sh
0 20 * * * /home/pasturay/esegui/sh/scriptInviaEmailAllegato.sh
 
 
Fine!!
 
You can find this script on my GitHub Repository at this repository URL: https://github.com/pastuweb/python-scripts/blob/master/sendEmailWithFile.py
Altro esempio:
 
import os
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
 
from_addr = 'server@appuntivari.net'
to_addrs = ['f.pasturenzi@reply.it']
msg="here is sample mesage"
 
s = smtplib.SMTP('mailhost.domain.it', 25)
 
s.sendmail(from_addr, to_addrs, msg)
 
def sendMail(to, subject, text, files=[],server="localhost"):
        fro = 'server@appuntivari.net'
 
        msg = MIMEMultipart()
        msg['From'] = fro
        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)
 
                s.sendmail(fro, to, msg.as_string() )
                s.close()
 
sendMail( ['f.pasturenzi@reply.it'],
"Hello Attach","More Attach",
["File.pdf"]
)
 
Average (1 Vote)
The average rating is 5.0 stars out of 5.