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
Antwort
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.
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?
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? –
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
Danke! Ja, es sieht hilfreich aus. –
- 1. "Diese Website ist nicht verfügbar" mit Symfony
- 2. Apache-Website nicht verfügbar
- 3. Softlayer-API-Website ist nicht verfügbar?
- 4. Angular lädt nicht, AngularJS Website ist nicht verfügbar?
- 5. Eine Aufgabe ausführen, wenn Internetverbindung verfügbar ist
- 6. Ausführen von SyncAdapter, wenn eine Internetverbindung verfügbar ist
- 7. Umleiten, wenn Sitzung nicht verfügbar ist node.js
- 8. Nachricht anzeigen, wenn Wert nicht verfügbar ist
- 9. Öffentlicher Schlüssel ist nicht verfügbar
- 10. Queryselector, wenn Element verfügbar ist
- 11. Offline-Cache-Navigation, wenn das Internet nicht verfügbar ist
- 12. Überspringen von Python-Test, wenn Abhängigkeit nicht verfügbar ist
- 13. Schaltfläche Standardinhalt, wenn Bild (von dynamischer Ressource) nicht verfügbar ist
- 14. ‚stringByAppendingPathComponent‘ ist nicht verfügbar
- 15. Ads Insights API Website-Conversions nicht verfügbar
- 16. Talend-Werkzeug - "Eine Palette ist nicht verfügbar"
- 17. Sitzungsvariable ist nicht verfügbar
- 18. withUnsafePointers ist nicht verfügbar
- 19. Wenn Clients mehr als normal ist, ist IIS heruntergefahren und meine Site ist nicht verfügbar
- 20. ConfigurationManager ist nicht verfügbar
- 21. ObjectInputStream ist nicht verfügbar
- 22. eine beobachtbare zu stoppen, wenn ein nächstes verfügbar ist
- 23. UdpClient nicht fehlgeschlagen, wenn der Endpunkt nicht verfügbar ist
- 24. Taste ist nicht verfügbar
- 25. NSLog ist nicht verfügbar
- 26. libopencv_gpu ist nicht verfügbar
- 27. CGContextSetLineDash ist nicht verfügbar
- 28. GcmListenerService ist nicht verfügbar
- 29. SFSpeechRecognizer ist nicht verfügbar
- 30. stringByAppendingPathComponent ist nicht verfügbar
Sie müssen in Ihre Google-Datenschutzeinstellungen gehen und sie ändern –
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
Dies wird helfen: https://support.google.com/accounts/answer/6010255 –