für meinen EMail-Versand, habe ich hier http://codecocktail.wordpress.com/2008/ ... versenden/ ein schönes Programm gefunden, das ich für meine Bedürfnisse angepasst habe.
Hier mal das Programm:
Code: Alles auswählen
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Sende alle Dateien per Mail
#Example usage: python sendMail.py file1.txt, file2.txt ...
import sys, smtplib, os
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import formatdate
from email import Encoders
class SendMail(object):
mailadress = 'email@mail.de'
smtpserver = 'mail.de'
username = 'usernamen'
password = 'password'
empfaenger = 'empfaenger@gmx.de'
def send(self, files):
# Gather information, prepare mail
to = self.empfaenger
From = self.mailadress
#Subject contains preview of filenames
if len(files) <= 3: subjAdd = ','.join(files)
if len(files) > 3: subjAdd = ','.join(files[:3]) + '...'
subject = 'Bestellung: ' + subjAdd
msg = self.prepareMail(From, to, subject, files)
#Connect to server and send mail
server = smtplib.SMTP(self.smtpserver)
server.ehlo() #Has something to do with sending information
server.starttls() # Use encrypted SSL mode
server.ehlo() # To make starttls work
server.login(self.username, self.password)
failed = server.sendmail(From, to, msg.as_string())
server.quit()
def prepareMail(self, From, to, subject, attachments):
msg = MIMEMultipart()
msg['From'] = From
msg['To'] = to
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = subject
# The Body message is empty
msg.attach( MIMEText("") )
for file in attachments:
#We could check for mimetypes here, but I'm too lazy
part = MIMEBase('application', "octet-stream")
part.set_payload( open(file,"rb").read() )
Encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(file))
msg.attach(part)
#Delete created Tar
return msg
if __name__ == '__main__':
mail = SendMail()
# Send all files included in command line arguments
mail.send(sys.argv[1:])
Code: Alles auswählen
python __modul_email__.py '/home/user/a/999mail.txt'
Nun möchte ich aber nicht vom Terminal aus EMails mit Anhang versenden, sondern über ein eigens erstelltes Python-Programm. Leider ist es mir bis jetzt nicht gelungen, dies umzusetzen. :K
Ich würde mich über Eure Hilfe hier sehr freuen!
Grüße Nobuddy