tarifa
Lieutenant
- Registriert
- März 2020
- Beiträge
- 617
Tach Community,
bin im Moment dabei zu überlegen wie ich mit Python E-Mails zu versenden - dabei liegen die zu verwendenden E-Mail-Adressen in einem Spreadsheet.
Hier unten also sind die Schritte um mittels Python Emails zu senden:: Die Mails sollen mittels Python verschickt werden. Die Mailadressen hierzu liegen in einer Calc-Tabelle auf dem Linux-Notebook
hier der Ansatz mit Pandas:
# wir beginnen mit dem Import der hier benötigten Bibliotheken:
..und das Senden von Mails mithilfe einer Liste von einer Excel-Tabelle - hier ohne pandas:
... wobei der zweite Ansatz so noch nicht sauber läuft
D
bin im Moment dabei zu überlegen wie ich mit Python E-Mails zu versenden - dabei liegen die zu verwendenden E-Mail-Adressen in einem Spreadsheet.
Hier unten also sind die Schritte um mittels Python Emails zu senden:: Die Mails sollen mittels Python verschickt werden. Die Mailadressen hierzu liegen in einer Calc-Tabelle auf dem Linux-Notebook
hier der Ansatz mit Pandas:
# wir beginnen mit dem Import der hier benötigten Bibliotheken:
Code:
import pandas as pd
import smtplib
# die Daten zum Einloggen auf den Mail-Server: hier werden sie benötigt!
sender = "fred_vom_bauernhof@gmail.com"
password = "foo_bar"
# nun stellen wir eine Verbindung mit dem gmail-Server her: wir nehmen den Port 587
# Anm.: es ginge auch eine sicherer SSL Kontext mit: context = ssl.create_default_context()
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login('sender.address@gmail.com', 'password')
# und hier lesen wir die Calc-Tabelle
email_list = pd.read_calc('/Users/adamatan/text/email/data.calc')
# und an dieser Stelle erfolgt das Holen der Mail-Adressen und de email-Texte
names = email_list['NAME']
emails = email_list['EMAIL']
for i in range(len(emails)):
# hole für jeden Eintrag in dem Calc-Spreadsheet den Namen, die Mailadresse und den Mailtext selbst
name = names[i]
email = emails[i]
# Die Nachricht die versendet werden soll
message = "Hallo und guten Tag, lieber " + name
# Einleiten des Versendens der E-Mail
server.sendmail(your_email, [email], message)
# und am Ende erfolgt das Schließen des smtp server
server.close()
..und das Senden von Mails mithilfe einer Liste von einer Excel-Tabelle - hier ohne pandas:
Code:
fm = open('die_email.txt', 'rb')
msg = MIMEText(fm.read())
fm.close()
msg['Subject'] = 'hier der Betreff'
msg['From'] = 'sender.address@gmail.com'
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login('sender.address@gmail.com', 'password')
email_data = csv.reader(open('email.csv', 'rb'))
#um sicher zu gehen dass das Ganz nicht crasht wenn irgendwas schief geht hier ein try block,
#der except block bringt dann eine error messages auf stdout:
for row in email_data:
if( email_pattern.search(row[1]) ):
del msg['To']
msg['To'] = row[1]
try:
server.sendmail('test@gmail.com', [row[1]], msg.as_string())
except SMTPException:
print "An error occured."
server.quit()
... wobei der zweite Ansatz so noch nicht sauber läuft
D