Ich habe ein Problem mit SMTPLib.
Das Programm, dass ich geschrieben habe, soll 4000+ Emails über einen SMTP-Server versenden.
Jede Email soll personalisiert sein (nur 1 Empfänger).
Problem: Es stoppt nach 10-20 Mails, ohne Fehler.
Auf Nachfrage beim Provider sagten die Server Admins, diesbezüglich bestehe kein Limit.
Ich poste hier einfach mal die relevanten Code-Teile.
Könnt ihr mir vielleicht helfen? Ich verzweifle bereits an einer Python-Lösung:
Email-Funktion:
Code: Alles auswählen
def sendhtmlmail(sender,empfaenger,html,betreff,smtpserver):
# me == my email address
# you == recipient's email address
me = sender
you = empfaenger
# Create message container - the correct MIME type is multipart/alternative.
msg = MIMEMultipart('alternative')
msg['Subject'] = betreff
msg['From'] = me
msg['To'] = you
# Create the body of the message (a plain-text and an HTML version).
text = "Du brauchst zum Anzeigen ein HTML-faehiges EMail-Programm."
html = html
# Record the MIME types of both parts - text/plain and text/html.
part1 = MIMEText(text, 'plain')
part2 = MIMEText(html, 'html')
# Attach parts into message container.
# According to RFC 2046, the last part of a multipart message, in this case
# the HTML message, is best and preferred.
msg.attach(part1)
msg.attach(part2)
# Send the message via local SMTP server.
s = smtpserver
# sendmail function takes 3 arguments: sender's address, recipient's address
# and message to send - here it is sent as one string.
s.sendmail(me, you, msg.as_string())
Die Schleife:
Code: Alles auswählen
// GUI Listbox zur Auflistung des Status
self.progressbox = Tkinter.Listbox(self.main)
self.progressbox.pack()
// Zum Server verbinden
self.server = smtplib.SMTP(self.serverdata[0])
self.server.login(self.serverdata[1],self.serverdata[2])
// Mails versenden
for i in self.adressen:
aktuellemail = self.adressen.index(i)+1
self.progressbox.insert(Tkinter.END,"Mail "+str(aktuellemail)+" von "+str(len(self.adressen))+" wird versendet")
// Hier macht es dann nach 10-20 Mails nichts mehr!
sendhtmlmail(self.serverdata[3],i,self.htmlcontent,self.betreff,self.server)
// Verbindung schliessen
self.server.close()