DONAZIONE
AIUTACI A CRESCERE:
DONAZIONE LIBERÀ
DONAZIONE LIBERÀ
MENU
I postatori più attivi del mese
Nessun utente |
Script Python per inviare mail con allegato
Pagina 1 di 1
Script Python per inviare mail con allegato
Grazie a questo piccolo script scritto in Pyhton potrete implementare all'interno della vostra applicazione la funzione che permette di inviare un mail con allegato. Ovviamente già da se questa sorgente può essere utilizzata come un semplice tool per mandare mail con appresso un allegato.
NB: lo script sottostante mi è stato segnalato via mail da un utente, non ho avuto tempo di controllarlo al meglio, quindi se vi sono degli errori siete pregati di segnalarli... se sei un novizio in questo campo o meglio con questo linguaggio e trovi un'errore non spaventarti sono cose che capitano
- Codice:
#!/usr/bin/python
import os
import smtplib
import email
import email.mime.text
import email.mime.multipart
import optparse
parser = optparse.OptionParser(usage="""\
Send file attached to a MIME message.
Usage: %prog [options]
""")
parser.add_option('‐a', '‐‐address',
type='string', action='store', metavar='ADDRESS',
help="""Indirizzo del server SMTP (obbligatorio)""")
parser.add_option('‐p', '‐‐path',
type='string', action='store', metavar='PATH',
help="""Percorso del file da inviare (obbligatorio)""")
parser.add_option('‐s', '‐‐sender',
type='string', action='store', metavar='SENDER',
help='Valore del campo From: intestazione (obbligatorio)')
parser.add_option('‐r', '‐‐recipient',
type='string', action='append', metavar='RECIPIENT',
default=[], dest='recipients',
help='A: valore intestazione (obbligatorio)')
opts, args = parser.parse_args()
if not opts.path \
or not opts.sender \
or not opts.recipients \
or not opts.address \
or not opts.path:
parser.print_help()
os.sys.exit(1)
if not os.path.isfile(opts.path):
print 'File \'' + opts.path + '\' non trovato.'
os.sys.exit(1)
# crea il messaggio
filename = opts.path.split('/')[‐1]
msg = email.mime.multipart.MIMEMultipart()
msg['Subject'] = 'File \'' + filename + '\'.'
msg['To'] = ', '.join(opts.recipients)
msg['From'] = opts.sender
msg.preamble = 'Cerca il file \'' + filename + '\' allegato.\n'
# corpo del messaggio
body = email.mime.multipart.MIMEMultipart('alternative')
body.attach(email.mime.text.MIMEText('Cerca il file \'' + filename + '\' allegato.\n'))
body.attach(email.mime.text.MIMEText('Cerca il file \'' + filename + '\' allegato.\n', 'html'))
msg.attach(body)
# allega il file
fp = open(opts.path, 'rb')
att = email.mime.base.MIMEBase('application', 'octet‐stream')
att.set_payload(fp.read())
fp.close()
email.encoders.encode_base64(att)
att.add_header('Content‐Disposition', 'attachment', filename=filename)
msg.attach(att)
# invia finalmente il messaggio
composed = msg.as_string()
s = smtplib.SMTP(opts.address)
s.sendmail(opts.sender, opts.recipients, composed)
s.quit()
Argomenti simili
» Script Java per email con allegato utilizzando la libreria JavaMail
» Script Python per registrare l'audio
» Script per creare una MAIL in PHP
» Script in PHP per impedire il caching degli script
» Inviare SMS con l'iPhone dal proprio sito web
» Script Python per registrare l'audio
» Script per creare una MAIL in PHP
» Script in PHP per impedire il caching degli script
» Inviare SMS con l'iPhone dal proprio sito web
Pagina 1 di 1
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.