2017-08-16 68 views
2

我有一个web应用程序托管使用atlassian Bamboo,它是从Windows 12服务器运行的。我想创建一个python脚本(或类似的东西),当那个网站停止运行时,它会发送一封电子邮件给我。 (无论问题出在竹还是服务器上)我的方法是使用selenium webdriver搜索网站的URL,并在未加载或加载不正确时采取行动。我的问题是电子邮件通知方面。我曾尝试使用smtp等来发送电子邮件。但是,谷歌认为这种方法是从不安全的应用程序访问电子邮件,所以它不会通过。有没有更好的方法或使电子邮件安全的方法?任何帮助,将不胜感激。谢谢!设置站点关闭时的电子邮件提醒

+1

你必须进入你的谷歌隐私设置,并将其更改 –

+0

我已经做了类似的创建一个新的Gmail帐户发送邮件。然后在您的脚本中登录到该帐户并使用Google的服务器发送邮件。正如您已经指出的那样,您必须允许在帐户设置中通过不安全的应用程序发送电子邮件。 – Endzeit

+0

这将有助于:https://support.google.com/accounts/answer/6010255 –

回答

0

这个问题困惑了我很多,我猜想这并不令人惊讶,因为我很容易混淆。

搁置应用程序运行的地方 - 它被部署在某个地方,你有它的URL,并且你有一些webdriver代码可以访问网站并检查它。你所有的工作,你只需要一个通知。

不知何故,Atlassian Bamboo可能会将您的应用程序部署到服务器,因此您已经拥有了可以自动或按计划运行的工具。你可以建立一个按计划运行的竹子计划,每小时,每天,不管。它检查你的web驱动代码,执行它,如果你的网站没有启动,你的计划可能会失败,那么你可以使用竹子内置的通知功能。 Bamboo可以通过电子邮件发送任何你想要的地址,或者发送通知给一个懒散的频道等。如果你从单元测试中运行你的webdriver代码,那么Bob的你的叔叔,如果测试失败并且你得到你的通知,竹子计划将自动失败。

虽然我不认为你的应用程序使用竹子托管 - 这是一个令人困惑的陈述。 Bamboo是CICD工具 - 不是应用程序服务器 - 所以我猜测Bamboo正被用于将应用程序部署到单独的服务器。但是,这对于硒执行/通知方面并不重要。

0

嘿,这很容易实现你在Jenkins寻找的东西......所以也许在竹子中它并不那么复杂? 基本上,你想用Python + Webdriver加载页面,如果它不加载或加载不正确 - 你想收到一封电子邮件。

我认为你是在正确的路径上配置SMTP,我假设你在构建失败时这样做。什么是不明确的,为什么你遇到谷歌隐私问题?你不能只使用任何外部电子邮件([email protected])并将其用作发件人吗?由于您将成为此帐户的所有者,因此请根据您的需要对其进行配置。并发送通知到您的公司电子邮件。它会起作用吗?

+0

我想通过进一步搜索我需要使用Gmail API并在电子邮件中启用OAuth。除非用户启用了不安全的应用程序,否则Gmail一般不允许代码向其发送电子邮件。 (这是一个坏主意)。因此,而不是继续使用smtp,我试图将我的代码转换到Gmail的API,并希望这有效? –

+0

我明白了,很好的通过Gmail API是完全不同的故事。我最近使用日历API并设置它非常令人兴奋:)祝你好运! – Mykola

+0

谢谢!是的,它看起来有帮助。 –