Hallo Allerseits,
ich versuche gerade ein E-mail skript zu schreiben.
es soll so funktionieren...
aus einem txt-file das zeilenweise e-mailadressen hat soll das skript folgendes tun. das file auslesen und an jede dieser e-mail adressen soll eine nachricht verschickt werden können...
Meine Frage nun:
Ich bin ziemlich neu in Python...
ist die serverangabe so richtig?
s = smtplib.SMTP('server') ???
Hat jemand ne Ahnung wie ich das am besten anpacken könnte?
Zuerst die Mails auslesen aus dem file und dann?
#
Danke euch
E-Mail Script
Hi Gast,
ja das scheint richtig zu sein. Allerdings ist der Objektname "s" wohl etwas ungünstig.
Der Rest sollte mit
klappen.
Edit: Hab mich bei der Nachricht vertüdelt. Sollte aber dennoch funktionieren
ja das scheint richtig zu sein. Allerdings ist der Objektname "s" wohl etwas ungünstig.
Code: Alles auswählen
import smtplib
smtp_server = smtplib.SMTP("irgendeiner.de")
Code: Alles auswählen
Abs = "am@besten.du"
Nachricht = '''\
From: %s
Subject: 'testin'
This is a test '''%Abs
mail_adressen_datei = file("mail.txt","r")
mail_adressen = mail_adressen_datei.readlines()
for i in mail_adressen:
mail_adresse = i.replace("\n","")
smtp_server.sendmail(Abs,mail_adresse,Nachricht)
Edit: Hab mich bei der Nachricht vertüdelt. Sollte aber dennoch funktionieren
Zuletzt geändert von antimicro am Mittwoch 29. Dezember 2004, 12:37, insgesamt 1-mal geändert.
greetings
sebi
sebi
Hi
ich bins nochomal...
ich bräuchte ein wenig Hilfe....
wär echt nett wenn mir jemand Hilfestellung gibt...
Hier mal mein Anfang:
Leider weiß ich nicht was es mit dem MIMEText auf sich hat...kann mir das jemand erklären..hab ich so im web gefunden...
mach ich das soweit richtig?
und das connecten zum server mit smtplib.SMTP ist auch richtig?
wenn ichs laufen lass passiert irgendwie nichts...
Für feedback bini ch dankbar...
ich bins nochomal...
ich bräuchte ein wenig Hilfe....
wär echt nett wenn mir jemand Hilfestellung gibt...
Hier mal mein Anfang:
Code: Alles auswählen
import smtplib
import sys
form email.MIMEText import MIMEText
file = open("testmails",'r')
msg = MIMEText(file.read())
file.close()
msg['Subject'] = 'inhalt'
msg['From'] = 'Sender'
msg['To'] = 'Empfänger'
s = smtplib.SMTP('server')
s.connect()
s.sendmail("sender_email",["empfänger_email"],msg.as_string())
s.quit()
mach ich das soweit richtig?
und das connecten zum server mit smtplib.SMTP ist auch richtig?
wenn ichs laufen lass passiert irgendwie nichts...
Für feedback bini ch dankbar...
Am besten kannst du hier in diesem Forum den Python Button benutzen. Damit dein Python Code auch farblich markiert wird.
form oder from?
Beim connecten bekommst du das Object zurück (smtp_server). Wenns nicht funktioniert bekommst du einen Fehler den du allerdings abfangen könntest. Kannst ja mal ausprobieren.
Mit dem MIME kann ich dir nicht helfen. Da hab ich leider auch keine Ahnung von 
Code: Alles auswählen
form email.MIMEText import MIMEText
Beim connecten bekommst du das Object zurück (smtp_server). Wenns nicht funktioniert bekommst du einen Fehler den du allerdings abfangen könntest. Kannst ja mal ausprobieren.
Code: Alles auswählen
import smtplib
print smtplib.SMTP(" :D :) :( .de")

greetings
sebi
sebi
Hi,
danke für deine geduld und deine Hilfe...
er bekommt ein Objekt zurück , also eine Instanz...
irgendwie scheint er aber über den befehl
nicht hinaus zu kommen....
wenn ich ausgaben hineinprogrammiere kommt er darüber nicht hinaus...
komisch...
danke für deine geduld und deine Hilfe...
er bekommt ein Objekt zurück , also eine Instanz...
irgendwie scheint er aber über den befehl
Code: Alles auswählen
smtp_server.connect()
wenn ich ausgaben hineinprogrammiere kommt er darüber nicht hinaus...
komisch...
sorry für die vielen Posting Herr Moderator...
komisch wenn ich den Befehl connect() rausnehme und gleich
mache dann gehts....
???
komisch wenn ich den Befehl connect() rausnehme und gleich
Code: Alles auswählen
smtp_server.sendmail(Sender,Empfänger,message)
???
Hi. Habe das ganze mal nach Netzwerke verschoben, da ists es besser aufgehoben
. Desweiteren hab ich oben nochmal python-Tags gesetzt, damit das ganze lesbar bleibt. Wenn du das immer machst, bin ich dir nicht wegen vielen Einzelposts böse, da die nicht soviel Arbeit machen wie einzelne Sachen zu editieren
... kleiner Spaß.
connect musst du nur dann ausführen, wenn du bei der Initialisierung kein Server angegeben hast, also SMPT ohne Parameter gerufen hast. Dann kannst du nachträglich eine Verbindung zu einem Server herstellen, den du dann in connect übergibst.
mfG Milan


connect musst du nur dann ausführen, wenn du bei der Initialisierung kein Server angegeben hast, also SMPT ohne Parameter gerufen hast. Dann kannst du nachträglich eine Verbindung zu einem Server herstellen, den du dann in connect übergibst.
mfG Milan
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Ich hab da eine Mailfunktion geschrieben (Hoffe sie funktioniert).
Code: Alles auswählen
import email
import smtplib
from email import Encoders
from email.Message import Message
from email.MIMEText import MIMEText as mimeobj
from email.MIMEBase import MIMEBase
from email.MIMEMultipart import MIMEMultipart
def sendmail(sender, to, subject, text, attachment=0):
if attachment:
msg = MIMEMultipart()
else:
msg = mimeobj(text)
msg["Subject"] = subject
msg["From"] = sender
msg["To"] = to
if attachment:
msg.preamble = ""
msg.epilogue = ""
txt = mimeobj(text)
msg.attach(txt)
for a in attachment:
try:
fp = open(a, "rb")
at = MIMEBase("application","octet-stream")
at.set_payload(fp.read())
fp.close()
Encoders.encode_base64(at)
fn = a
if len(fn) > 20:
fn = fn[-20:]
at.add_header("Content-Disposition", "attachment", filename=fn)
msg.attach(at)
except:
pass
s = smtplib.SMTP()
s.connect()
s.sendmail(sender, [to], msg.as_string())
s.close()
TUFKAB – the user formerly known as blackbird