Visualizzazione post con etichetta csv. Mostra tutti i post
Visualizzazione post con etichetta csv. Mostra tutti i post

domenica 5 aprile 2020

PYTHON - EMAIL SENDER CON FOGLIO CSV

Inviare email leggendo da un file oggetto, email e contenuto.

import smtplib
from email.mime.text import MIMEText
import emailAccount
'''
Esempio di file emailAccount.py da salvare nella stessa directory di questo
script
popserver = 'poptuoserver'
popport = 995
server = 'smtptuoserver'
porta=465
username='mio@username'
password='lapassword'
mitt='mio@indirizzoemail'
'''
import time
import sys

def leggiFoglioCSV(nomeF):
    f=open(nomeF,"r")
    m=[]
    for linea in f.readlines():
        col=linea.split(",")
        col = [item for item in col if item not in ['\n']]
        m.append(col)
    f.close()
    return m

def sendEmail2(oggetto,dest,contenuto):
    #              server SMTP del tuo gestore #porta del server
    email=smtplib.SMTP_SSL(emailAccount.server,emailAccount.porta)
    email.ehlo()
    #           il tuo account        #la tua password
    email.login(emailAccount.username,emailAccount.password)
    email.ehlo()
    print("Invio")
    msg=MIMEText(contenuto,'html','utf-8')
    msg['Subject']=oggetto
    msg['From']=emailAccount.mitt
    msg['To']=dest
    email.sendmail(emailAccount.mitt,dest,msg.as_string())
    email.quit

def spedisciEmail(nomeLista):
    lista=leggiFoglioCSV(nomeLista)
    for i in range(len(lista)):
        try:
            sendEmail2(lista[i][0],lista[i][1],lista[i][2])
            print("Email a: ",lista[i][1]," inviata")
        except smtplib.SMTPRecipientsRefused:
            print("Email a: ",lista[i][1]," non inviata. Indirizzo sbagliato")
'''
Il foglio CSV deve essere composto da tre colonne
oggetto,email destinatario,contenuto dell'email
Puoi fare anche un semplice file di testo scritto con blocco note.
Esempio
oggetto,email@email.email,contenuto del messaggio
oggetto2,email2@email.email, contenuto del messaggio
'''
spedisciEmail(sys.argv[1])

Semplice e funzionale come sempre. Come si usa: python script.py nomedelfile.csv
Se ti piace il blog dona, in alto a destra i miei indirizzi criptovalute.

sabato 4 aprile 2020

PYTHON - FOGLI CSV E MATRICI

Fogli CSV - programmi come Excel e Calc di Open Office, possono salvare i loro dati in fogli tipo CSV e caricare dati da fogli CSV, che non sono altro che file di testo.
Qui di seguito la costruzione di un CSV da una matrice e poi la trasformazione da CSV a matrice.

 '''
Da matrice a foglio.csv
'''
m=[['abc','def','ghi'],['abc','  ','ghi'],['  ','def','  ']]
f=open("foglio.csv","w")
for i in range(len(m)):
        for c in range(len(m[i])):
            f.write((m[i][c]+","))
        f.write("\n")
f.close()
f=open("foglio.csv","r")
fg=f.read()
f.close()
print("Il file CSV appena fatto: ")
print(fg)
nr=1
'''
Da foglio csv a matrice
'''
f=open("foglio.csv","r")
m=[]
for linea in f.readlines():
    col=linea.split(",")
    #eliminazione \n
    col = [item for item in col if item not in ['\n']]
    m.append(col)
f.close()
print("La matrice ottenuta dal foglio CSV\n")
print(m)