Modul zum Senden von Emails (simplemail.py)

Code-Stücke können hier veröffentlicht werden.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

@gerold: Schön wieder von dir was hier zu hören :D

Hab deine github Projekte ein wenig überflogen... Ein paar Anmerkungen:

Warum packst du Release-Archive von deinen Programmen mit ins git Repo?
Also das hier: https://github.com/gerold-penz/python-s ... aster/dist ?!?

Wenn du git tags verwendest, dann macht das github automatisch, unter "releases"
bsp.: https://github.com/jedie/python-creole/releases

Darüber hinaus finde ich deine "_git*.py" Dateien ein wenig merkwürdig. Wo liegt da der Mehrwert?!?

Zu den "setup.py register/sdist/upload" Skipten -> http://www.python-forum.de/viewtopic.php?f=11&t=36465

Dann wäre noch die Unterverzeichnisse "development", "_internal" unüblich. Warum keine git branches dazu? Wobei "_internal" besser zu tests und docs unbenannt und zu echten tests / Dokumentation gewandelt werden sollte :lol:

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@gerold
Mich freut's auch, mal wieder von Dir zu lesen...

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
freund
User
Beiträge: 9
Registriert: Sonntag 16. August 2015, 15:11

Hallo,

das Script ist super und sehr hilfreich.

Was ich aber damit nicht hin bekommen habe ist mehrere Anhänge zu versenden.

Ich habe eine Zeile zu stehen:

Code: Alles auswählen

attachment_file = "./image01.jpg"
Wenn ich eine Zweite hinzufüge bekomme ich einen SyntaxError.

Weis wer mehr?

Danke :)
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

So funktioniert Python nunmal nicht… Füg deine Datei einfach zu den Attachments hinzu: https://github.com/gerold-penz/python-s ... __.py#L212 und https://github.com/gerold-penz/python-s ... py#L67-L89
freund
User
Beiträge: 9
Registriert: Sonntag 16. August 2015, 15:11

Jupp Danke.
Da hatte ich auch geschaut.

Verstehe draus aber nicht wie ich mehrere Dateien trennen soll und/oder den Pfad mit angebe, wenn es Dateien von verschiedenen Pfaden sind.
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Schau dir doch mal die Attachments (siehe das Plural-s am Ende) Klasse und die Methode add_filename von derselbigen an
Holzknoten
User
Beiträge: 4
Registriert: Montag 1. Mai 2017, 08:32

gerold hat geschrieben:Hi!

Neues Feature:
Es wurden neue Klassen fuer CC-Empfaenger (Carbon Copy) und BCC-Empfaenger (Blind Carbon Copy) hinzugefuegt. Ab jetzt können Emails auch an CC und BCC gesendet werden. Wie das funktioniert sieht man in der Funktion ``testen()``

lg
Gerold
:-)
Hi Gerold,

ich konnte kein Beispiel zu CC und BCC finden.
Wo kann ich mit die Funktion "testen()" anschauen?

by Holzknoten
Holzknoten
User
Beiträge: 4
Registriert: Montag 1. Mai 2017, 08:32

Danke BlackJack,

leider gibt es dort keine Beispiele für CC(Kopie) und BCC(Blindkopie) für Emailadressen in einer Email.
BlackJack

@Holzknoten: Doch gibt es.
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

Holzknoten
User
Beiträge: 4
Registriert: Montag 1. Mai 2017, 08:32

Jetzt habe ich es geblickt. :D
Danke für die Hilfe beim Finden.
email.bcc_recipients.add("gerold@gps.gp", "Gerold Penz")
Holzknoten
User
Beiträge: 4
Registriert: Montag 1. Mai 2017, 08:32

Okay jetzt habe ich meinen Code fertig geschrieben.
Manuell ausführen läuft.
Datei: /var/www/XX/app/00-emailer.py

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-
from simplemail import Email
...
Jetzt habe ich einen Crontap(crontab -e) eingetragen mit logfile.
In der logfile steht jetzt immer dieser Fehler.
Traceback (most recent call last):
File "/var/www/XX/app/00-emailer.py", line 3, in <module>
from simplemail import Email
ImportError: No module named simplemail
Jetzt soll an den Pfad vom Module "simplemail" dem Code mitgeben.

Code: Alles auswählen

...
import sys; sys.path.append('/???path/to/simplemail???/')
from simplemail import Email
...
Wie finde ich den Pfad von simplemail?

Code: Alles auswählen

locate simplemail
Das hat mir schon mal nicht geholfen.
Ich habe den Befehl zum intsallieren hier ausgeführt: /home/myusername/
Ist das dan der Pfad zum module?

Code: Alles auswählen

...
import sys; sys.path.append('/home/myusername/.local/lib/python2.7/site-packages/simplemail/')
from simplemail import Email
...
Das hat irgendwie nicht geklappt.
kann mir da jemand auf die Sprünge helfen. Ich bin absoluter Anfänger im Linux.

Okay jetzt habe ich es selbst rausgefunden.
Ich habe die Datei "/home/myusername/.local/lib/python2.7/site-packages/simplemail/__init__.py" kopiert und
neben meiner Datei eingefügt und umbenannt. "/var/www/XX/app/simplemail.py"

Danke für simplemail.

by Holzknoten
nono191
User
Beiträge: 38
Registriert: Dienstag 6. Oktober 2015, 13:01

Ich habe das Modul ausprobiert und bin auf folgende Fehlermeldung gestossen:

File "/Users/vera/Desktop/noe/Python/simplemail.py", line 194, in __init__
if isinstance(from_caption, unicode):
NameError: name 'unicode' is not defined

Dies war mein Code:

Code: Alles auswählen

            email = Email()
            email.from_address = input("Wie ist ihre Email Adresse?\n")
            email.recipients.add(input("An wen wollen sie es senden?\n"))
            email.subject = input("Wie lautet der Betreff?\n")
            email.message = input("Wie lautet die Nachricht?\n")
            email.attachments.add_filename(recipe)

            if email.send():
                print ("Datei gesendet.")
            else:
                print ("Die Datei wurde nicht versendet")
Grüsse Python-Anfänger
BlackJack

@nono191: Das Modul ist für Python 2.x, Du verwendest offenbar Python 3.x.
nono191
User
Beiträge: 38
Registriert: Dienstag 6. Oktober 2015, 13:01

Aha danke für die schnelle Antwort.
Daniel Schreiber
User
Beiträge: 21
Registriert: Sonntag 14. Januar 2018, 15:03

Hallo, warum muss man sich bei dir nicht einloggen?
nezzcarth
User
Beiträge: 1631
Registriert: Samstag 16. April 2011, 12:47

Daniel Schreiber hat geschrieben: Donnerstag 11. Oktober 2018, 11:38 Hallo, warum muss man sich bei dir nicht einloggen?
Ich weiß nicht, ob ich deine Frage richtig verstanden habe, aber es ist prinzipiell nicht zwingend notwendig, sich zum Versand an einem Mail-Server mit Username und Passwort anzumelden. Theoretisch kann jeder E-Mails schicken, die angeblich von deiner Adresse kommen; und das ist für bestimmte Zwecke (das Standardbeispiel sind Webformulare) auch nützlich. Es obliegt den beteiligten Mail-Servern, dagegen ggf. Maßnahmen zu ergreifen.
paddie
User
Beiträge: 101
Registriert: Donnerstag 11. Oktober 2018, 18:09

nezzcarth hat geschrieben: Freitag 12. Oktober 2018, 18:08
Daniel Schreiber hat geschrieben: Donnerstag 11. Oktober 2018, 11:38 Hallo, warum muss man sich bei dir nicht einloggen?
Ich weiß nicht, ob ich deine Frage richtig verstanden habe, aber es ist prinzipiell nicht zwingend notwendig, sich zum Versand an einem Mail-Server mit Username und Passwort anzumelden. Theoretisch kann jeder E-Mails schicken, die angeblich von deiner Adresse kommen; und das ist für bestimmte Zwecke (das Standardbeispiel sind Webformulare) auch nützlich. Es obliegt den beteiligten Mail-Servern, dagegen ggf. Maßnahmen zu ergreifen.
Wobei ich aber den Versand OHNE Authentifizierung nur von localhost zulassen würde...alles andere wäre imho grob fahrlässig.
Auch sehe ich es eher kritisch Mails mit fremden Absendern auch von localhost aus (also fremden Hostteil) zum Versand (Stichwort offenes Mail-Relay) zuzulassen. Fremder Local-Teil OK. IIRC gehört das auch zu den Dingen die Spamassassin in seine Wertung mit einfließen lässt, also ob Absender-Domain mit Absender-Mailserver übereinstimmt...

So...eigentlich wollte ich mich aber nur für dieses wirklich coole Modul bedanken ;-), was ich in meinem kleinen im Aufbau befindlichen Programm gut gebrauchen kann. Hierzu werd ich aber dieses WE auch noch was schreiben ;-).

Gruß

Paddie
Antworten