Modul zum Senden von Emails (simplemail.py)

Code-Stücke können hier veröffentlicht werden.
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