IFTTT - If This Than That
Für bis zu 5 "Applets" ist der Einsatz von IFTTT kostenfrei. Das reicht für die ersten Fehversuche mit Automatisierung aus der Cloud. Auf der Seite HTTP2SMTP habe ich mit einem einfachen PHP-Skript auf meiner Webseite bei einem Hoster gezeigt, wie ich auf einen HTTP-Request eine Mail sende. Wer keinen eigenen Webserver hat oder PHP sich nicht zutraut, kann vielleicht mit IFTTT glücklich werden.
Wer ist IFTTT
IFThistThanThat ist ein kommerzielle Angebot zur Automatisierung von Aufgaben aus der Cloud. Bis zu fünf Applets (Regeln) sind kostenfrei und wenn sie mehr Applets benötigen, dann kostet es eben Geld. Es gibt noch weitere Einschränkungen, z.B. dass ein Applet nur genau eine Aktion nutzen kann. Wenn Sie mehrere Aktionen addieren wollen, benötigen sich auch wieder ein "Pro"-Abonnement (2,50€/Monat Stand Nov 2022).
Sie müssen sich bei IFTTT natürlich mit ihrer Mailadresse und Kennwort oder auch Facebook, Google, Apple-Konto anmelden.
Ich bevorzuge hier die losgelöste Anmeldungen, um von den "großen IdentityProvidern" unabhängig zu bleiben, auch wenn ich dann eigene Zugangsdaten verwalten muss.
Ich habe mich angemeldet, um ein IoT-Device per HTTPS eine Aktion auszulösen, die ich auf dem IoT-Device selbst nicht ausführen konnte.
Webhook und Mail
Dazu habe ich in IFTTT ein Applet angelegt, welches einen Webhook als Eingabe verwendet und dann eine Mail versendet
https://ifttt.com/maker_webhooks
https://ifttt.com/applets/Zp6vmhJx-get-an-email-when-webhooks-publishes-a-new-trigger-or-action
Die Anlage des Applet war eine Sache von Sekunden und auch den Webhook konnte ich ohne weitere Parameter addieren und der Versand erfolgt direkt an die Mailadresse, welche ich zur Anmeldung verwendet haben. Ich musste also gar nichts weiter parametrisieren. Das bekommt jeder hin.
Webhook auslösen
Etwas kniffliger war es dann schon, bis ich dich URL und Zusatzinformationen ermittelt habe, wie ich denn den Webrequest absenden muss. Auf dem Webhook selbst gibt es gar keine Parameter weil IFTTT automatisch den Namen des Applet als Event nutzt und einen Key seöbst vorgibt. Der Aufruf mit bis zu drei Parametern ist dann wie folgt aufgebaut
https://maker.ifttt.com/trigger/{event}/with/key/{webhooks_key}?value1=value1&value2=value2&value3=value3"
Der "Event" ist der Name eines Applet und der Key wird von IFTTT vorgeben und ist zumindest nicht sofort zu finden.
- Webhooks service FAQ
https://help.ifttt.com/hc/en-us/articles/115010230347-Webhooks-service-FAQ
Ich habe meinen Key letztlich hier gefunden
https://ifttt.com/maker_webhooks/settings
Mit dem Key und der Beschreibung aus der "Webhooks service FAQ" konnte ich dann einen HTTPS-Request erstellen:
Invoke-WebRequest "https://maker.ifttt.com/trigger/HeizungStoerung/with/key/g0tBHHt...............6UcjK?value1=value1"
Beim Aufruf kommt ein "200 OK" zurück.
Wenn ich einen falschen Key liefere, dann kommt einen "401 Unauthorized"-Fehler. Wenn ich mich aber beim "Event"-Namen vertippe, dann bekomme ich einen 200 OK, obwohl nicht passiert. IFTTT verrät damit also nicht, ob es eine gültiger Event ist.
Webhook kontrollieren
Alle Änderungen an dem Applet als auch die Durchläufe kann ich per Browser direkt einsehen:
Mail im Postfach
Da ich als Aktivität eine Mail an mein Postfach konfiguriert hatte, konnte ich in nahezu Echtzeit diese Mail finden
Anhand des Header ist zu sehen, dass die Mail direkt an mich gesendet wurde und der Absender ziemlich viel richtig macht.
- Er nutzt "Webhooks via IFTTT
<action@ifttt.com>" als Absender
Das ist in Grunde eine gültige Adresse, die auch bestand hat. Ich kann als in meinem Spamfilter z.B. diese Adresse auf eine Allow-List stellen. - SPF leider nur "~all"
Wenn Sie den SPF-Eintrag kontrollieren, dann gibt es einige erlaubte Absender aber die Policy ist nicht strikt. Das ist schade, da Empfänger, ohne DMARC-Support sich daran halten und auch Fälschungen möglich sind
C:\>nslookup -q=TXT ifttt.com ifttt.com text = "v=spf1 include:sendgrid.net include:_spf.google.com include:stspg-customer.com include:customeriomail.com include:mail.zendesk.com include:spf.tapfiliate.com ~all"
- DMARC gesetzt
Nur Empfänger, die zusätzlich DMARC unterstützen, sehen hier das p=reject
C:\>nslookup -q=TXT _dmarc.ifttt.com Nicht autorisierende Antwort: _dmarc.ifttt.com text = "v=DMARC1; p=reject; rua=mailto:arqctnow@ag.dmarcian.com;"
- DKIM
Wenn Sie sich den Header anschauen, dann finden Sie auch eine DKIM-Signatur. Dies erleichtert die Weiterleitung an andere Postfächer, bei der SPF naturgemäß bricht.
Return-Path: <bounces+11142-47c9-frank=carius.de@emails.ifttt.com> Authentication-Results: kundenserver.de; dkim=pass header.i=@ifttt.com Received: from o3.email.ifttt.com ([167.89.46.170]) by mx.kundenserver.de (mxeue012 [212.227.15.41]) with ESMTPS (Nemesis) id 1MJEhX-1of9Ex3Gfr-00Kiy4 for <IFTTT@carius.de>; Sun, 13 Nov 2022 22:22:57 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ifttt.com; h=from:subject:mime-version:reply-to:to:content-type: content-transfer-encoding:cc; s=s1; bh=iLTQ0faLahypQtVhXiiT+RqZkPiQTKe7mvYgfKSKTtw=; b=mr0k0m1NyDHxx2rsxBJmFWrQL26IIfAR5TegAshmDHrglendKN9PlJ9GbEVXRZnJ1dDk oHeP3dLY65z7vD/PBLwnZi0lrZGGBiChQHIMa3yyJfdT9/jpTgVf3kV5CRY/+p+entqKLl XCBxTq9RBLmvx4pvUsrm4fTkT3T+LYE2RPWQN/1HctVsMKdR+9m1fx4dHlXPAVa3dmZF5e q5AGcr6XreykUgmtXBL3O5m5BUcaU4WOvRytRtpMBiG6vqGomtaixYiZaL571F2RoOWdAd jxFTXtR8lUcM3KMPUs/gp1eIcNmWuA8RBwoQmlyLb+fCO7/ZvjhRyh2lv3iNRcww== Received: by filterdrecv-canary-778b4df694-4kmns with SMTP id filterdrecv-canary-778b4df694-4kmns-1-6371602E-75 2022-11-13 21:22:54.642584207 +0000 UTC m=+265392.701486523 Received: from ifttt.com (unknown) by geopod-ismtpd-2-2 (SG) with ESMTP id ak10IPu9RESawIb4fw0D5A for <IFTTT@carius.de>; Sun, 13 Nov 2022 21:22:54.594 +0000 (UTC) Date: Sun, 13 Nov 2022 21:22:54 +0000 (UTC) From: Webhooks via IFTTT <action@ifttt.com> Message-ID: <6371602e54f2f_82ad44c9a30f82309979e0@satellite-prod-sidekiq-dc7b456d5-5njtm.mail> Subject: The event named "HeizungStoerung" occurred on the Maker Webhooks service Mime-Version: 1.0 Reply-To: Do not reply <no-reply@ifttt.com> To: IFTTT@carius.de X-Entity-ID: XxoXvs/9BKaoMqrXgDUb3g== Content-Type: multipart/alternative; boundary="--==_mimepart_6371602e542c8_82ad44c9a30f82309978ce"; charset=UTF-8 Content-Transfer-Encoding: 7bit Envelope-To: <IFTTT@carius.de>
Einschätzung
IFTTT kann natürlich noch viel mehr Quellen anzapfen und Aktionen auslösen. Vielleicht haben Sie einen "Smarten" Regensensor, der bei Regen den Rasenmäher in die Garage schickt u.a. Das kann auch über verschiedene Hersteller hinweg funktionieren. Aber selbst wenn Sie nur ein paar HTTP-Aufrufe zu einer Mail umsetzen wollen, können sie mit dem kostenfreien IFTTT-Plan auf jeden Fall starten.