E-Mail senden bei GPIO Input

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
CrazyRM
User
Beiträge: 2
Registriert: Freitag 19. Oktober 2018, 23:46

:lol:
So simpel wie einfach und das haut auch noch hin.

Vielen Dank
peko
User
Beiträge: 19
Registriert: Montag 5. Juni 2017, 14:41

Hallo zusammen,

ich habe mir ein Script - auf der Basis des Threaterstellers - geschrieben,
es läuft auch stabil.
Nur möchte ich die email an mehrere Adressaten senden, aus mir unerfindlichen Gründen
wird aber immer nur der erste Adresssat per email benachrichtigt.
Ich habe die Zeile

Code: Alles auswählen

TO_EMAIL = '********@hotmail.com'
auf

Code: Alles auswählen

TO_EMAIL = '********@gmx.de;****@t-online.de;****@vodafone.de'
abgeändert (Sowohl mit ";" als auch mit "," Trennung)

Beim ersten Empfänger werden auch alle drei emailadressen angezeigt, aber bei den anderen kommt nichts an.
Der Versuch, dann (vom ersten Empfänger) allen zu Antworten, klappt problemlos,
nur das Python programm sendet eben nur an den ersten Eintrag der Liste eine email weg.

Habt ihr irgendwelche Tipps ?

Gruß
peko
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

peko
User
Beiträge: 19
Registriert: Montag 5. Juni 2017, 14:41

Hallo __deets__,

immer wieder Hilfreich, DANKE !

email.message ist der Schlüssel

Anbei der Codeschnipsel als Hilfe für Suchende:

Code: Alles auswählen

import smtplib
from email.message import EmailMessage

...
...
...

recipients = ['info@eins.de','mobil@zwei.de','drei@gmx.de']
FROM_EMAIL = 'info@eins.de'
SMTP_SERVER = 'smtp.provider.de:587'
SMTP_USERNAME = FROM_EMAIL
SMTP_PASSWORD = 'geheimes PW'

def send_mail(aktuelle_alarme, email1, email2):
    now = email.utils.formatdate(localtime=True)
    if aktuelle_alarme == 1:
        text  = '''xyz,\n
yzx\n\n Automatische E-Mail - nicht antworten'''
    if aktuelle_alarme == 2:
        text  = '''abcd.\n\n
 Automatische E-Mail - nicht antworten'''

    message = EmailMessage()
    message.set_content(text)
    message['Subject'] = 'Abwasserstand'
    message['From'] = FROM_EMAIL
    message['To'] = recipients
    message['Date'] = now

    smtp = smtplib.SMTP(SMTP_SERVER)
    smtp.starttls()
    smtp.login(SMTP_USERNAME, SMTP_PASSWORD)
    smtp.send_message(message)
    smtp.quit()

    ...
    ...
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

peko hat geschrieben: Samstag 10. November 2018, 12:13 ich habe mir ein Script - auf der Basis des Threaterstellers - geschrieben,
Hallo peko,
sei mir nicht böse aber ich musste gerade so herzhaft über diesen Typo lachen...
Threat - An expression of an intention to inflict pain, harm, or punishment.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
peko
User
Beiträge: 19
Registriert: Montag 5. Juni 2017, 14:41

Jetzt, wo ich es sehe, muss ich auch grinsen.
Alles gut !

peko
Antworten