La Scaricata
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
World AIDS
AVERT - AIDS charity
Quanti visitatori oggi?
DONAZIONE
AIUTACI A CRESCERE:
DONAZIONE LIBERÀ
Flusso RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 


I postatori più attivi del mese
Nessun utente


Script Python per inviare mail con allegato

Andare in basso

Script Python per inviare mail con allegato Empty Script Python per inviare mail con allegato

Messaggio Da florin88 Mar Gen 24, 2012 9:18 pm

Script Python per inviare mail con allegato Python

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 Wink

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()

florin88
florin88
Admin

Numero di messaggi : 7128
Data d'iscrizione : 18.12.08
Età : 35
Località : Ca' Savio bronx (VE)

http://www.flaviusso.altervista.it

Torna in alto Andare in basso

Torna in alto

- Argomenti simili

 
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.