Mehrere E-Mails über Outlook mittels Python senden
Verfasst: Mittwoch 26. September 2018, 21:17
Hallo,
ich muss auf der Arbeit viele Mails schreiben, was viel Zeit frisst. Die E-Mails sind immer gleich (gleicher Nachrichtnetext, gleiche Empfänger), aber die anhänge unterscheiden sich.
Ich wollte das deshalb automatisieren, sodass jeder Kunde Mails mit den entsprechenden Anhängen bekommt.
Soweit bin ich gekommen (bin Anfänger):
Python erstellt aber nur eine einzige Mail und packt alle Anhänge in diese Mail. Es erscheint keine Fehlermeldung.
Wo liegt der Fehler?
Danke für die Hilfe!
ich muss auf der Arbeit viele Mails schreiben, was viel Zeit frisst. Die E-Mails sind immer gleich (gleicher Nachrichtnetext, gleiche Empfänger), aber die anhänge unterscheiden sich.
Ich wollte das deshalb automatisieren, sodass jeder Kunde Mails mit den entsprechenden Anhängen bekommt.
Soweit bin ich gekommen (bin Anfänger):
Code: Alles auswählen
import win32com.client as win32
import os
CLdict = dict() #Kontaktliste, die später die Namen des Kunden und ihre E-Mail-Adressen enthält. Format z.B.: SAP=et1@sap.de; et2@sap.de (siehe Kontakte.txt)
dict2=dict() #Hier werden später die Anhänge den Kunden zugeordnet.
fin = open("Kontakte.txt")
zeilenzähler = 0
for zeile in fin:
zeilenzähler += 1
for zeile2 in zeile.split("="):
CLdict[zeile.split("=")[0]]=zeile.split("=")[1] #Kundennamen und E-Mail-Adressen werden gesplittet und im Dictionary gespeichert.
dict2[zeile.split("=")[0]]=list() #Kundennamen werden im Dictionary gespeichert
outlook = win32.Dispatch('outlook.application')
for filename in os.listdir(): #Hier werden die Dateinamen im Ornder mit den Anhängen für alle Kunden durchsucht.
for k in CLdict:
if k in filename: #Wenn der Kundenname im Dateinamen vorkommt, sollen die Dateinamen dieser Anhänge als Wert im Dictionary mit dem Kundennamen-Schlüssel gespeichert werden.
dict2[k].append(filename)
mail = outlook.CreateItem(0)
mail.Subject = 'testüberschrift'
#Hier sollen die unterschiedlichen Anhänge für die jeweiligen Kunden derselbsen Mail angehängt werden. Beim nächsten Durchlauf der Schleife (= beim nächsten Kunden soll eine neue Mail geschrieben werden):
for kunde in dict2:
for anhang in dict2[kunde]:
attachment = "D:\Programme\Dropbox\Dropbox\Python\E-Mail" + '\\' + anhang
mail.Attachments.Add(attachment)
mail.To = CLdict[kunde]
mail.Display()
Wo liegt der Fehler?
Danke für die Hilfe!