2017-08-16 1 views
2

Ich habe eine Webanwendung gehostet mit atlassian Bamboo, die von einem Windows 12-Server ausgeführt wird. Ich möchte ein Python-Skript (oder etwas Ähnliches) erstellen, das mir eine E-Mail sendet, wenn diese Seite ausfällt. (ob das Problem mit Bambus oder dem Server ist) Meine Methode ist Selen-Webdriver zu verwenden, um die URL der Website zu suchen und zu handeln, wenn sie nicht richtig geladen wurde oder nicht geladen wurde. Mein Problem ist der E-Mail-Benachrichtigungsaspekt. Ich habe versucht, SMTP zu verwenden, um eine E-Mail zu senden. Allerdings erkennt Google diesen Ansatz als Zugriff auf die E-Mail von einer unsicheren Anwendung, so dass es nicht durchlaufen wird. Gibt es einen besseren Ansatz dafür oder eine Möglichkeit, die E-Mail sicher zu machen? Jede Hilfe wäre willkommen. Vielen Dank!Einrichten von E-Mail-Benachrichtigungen, wenn eine Website nicht verfügbar ist

+1

Sie müssen in Ihre Google-Datenschutzeinstellungen gehen und sie ändern –

+0

Ich habe etwas ähnliches getan, indem Sie ein neues Google Mail-Konto erstellen, um die E-Mails zu senden. In Ihrem Skript melden Sie sich dann bei diesem Konto an und senden die E-Mail über die Google-Server. Wie Sie bereits erwähnt haben, müssen Sie zulassen, dass E-Mails in den Kontoeinstellungen einmal von unsicheren Anwendungen gesendet werden. – Endzeit

+0

Dies wird helfen: https://support.google.com/accounts/answer/6010255 –

Antwort

0

Diese Frage verwirrt mich sehr, nicht überraschend, denke ich, wie ich leicht verwirrt bin.

Legen Sie beiseite, wo die Anwendung ausgeführt wird - es ist irgendwo im Einsatz, Sie haben eine URL dafür, und Sie haben einige Webtreiber-Code, der die Website schlägt und prüft, ob es ist. Alles, was Sie arbeiten, brauchen Sie nur eine Benachrichtigung.

Irgendwie ist Atlassian Bamboo involviert, möglicherweise stellt es Ihre App auf einem Server bereit, so dass Sie bereits ein Tool haben, das Dinge automatisch oder planmäßig ausführen kann. Du könntest einen Bambusplan bauen, der auf irgendeinem Cron-Zeitplan läuft, stündlich, täglich, was auch immer. Es überprüft Ihren Webdriver-Code, führt ihn aus und wenn Sie den Plan nicht bestehen können, wenn die Site nicht verfügbar ist, können Sie die integrierten Benachrichtigungsfunktionen von bamboo verwenden. Bamboo kann die gewünschten Adressen per E-Mail senden oder eine Benachrichtigung an einen freien Kanal senden. Wenn Sie Ihren Webdriver-Code aus Komponententests ausführen, wird Bobs Onkel, Bambusplan, automatisch fehlschlagen, wenn der Test fehlschlägt und Sie Ihre Benachrichtigung erhalten.

Ich glaube nicht, dass Ihre Anwendung mit Bambus gehostet wird - das ist eine verwirrende Aussage. Bamboo ist ein CICD-Tool - kein Anwendungsserver - also nehme ich an, dass Bamboo verwendet wird, um die Anwendung auf einem separaten Server bereitzustellen. Aber das ist nicht wirklich wichtig für den Selen-Ausführungs/Benachrichtigungs-Aspekt.

0

Heh, es ist so einfach zu erreichen, was du in Jenkins suchst ... Vielleicht ist es in Bamboo also nicht so komplex? Grundsätzlich möchten Sie Seite mit Python + Webdriver laden und wenn es nicht lädt oder falsch lädt - Sie möchten eine E-Mail erhalten.

Ich denke, Sie waren auf dem richtigen Weg mit der Konfiguration von SMTP, ich nehme an, Sie taten es bei Build-Fehler. Was ist nicht klar, warum Sie Probleme mit Google-Privatsphären hatten? Kannst du nicht einfach eine externe E-Mail ([email protected]) verwenden und sie als Absender verwenden? Da Sie der Besitzer dieses Kontos sein werden, konfigurieren Sie es wie Sie möchten. Und senden Sie eine Benachrichtigung an Ihre Unternehmens-E-Mail. Würde es funktionieren?

+0

Ich denke von weiterem Suchen, dass ich die Google Mail-API verwenden und OAuth in der E-Mail aktivieren muss. Google Mail lässt den Code im Allgemeinen nicht per E-Mail versenden, es sei denn, der Nutzer hat unsichere Apps aktiviert. (was eine schlechte Idee ist). Anstatt also mit smtp fortzufahren, versuche ich, meinen Code in die gmail API zu überführen, und hoffentlich funktioniert das? –

+0

Ich sehe, gut durch Gmail API geht die ganze andere Geschichte.Ich habe vor kurzem Kalender API verwendet und die Einrichtung war ziemlich aufregend :) viel Glück! – Mykola

+0

Danke! Ja, es sieht hilfreich aus. –

Verwandte Themen