我是 Python 和 BuildBot 的全新用户。目前,当 BuildBot 构建状态发生变化(从成功变为失败,反之亦然)时,我正在使用电子邮件警报,并且每次构建失败时都会发送电子邮件。尝试发送电子邮件时遇到以下 Python 错误。
--- <exception caught here> ---
**ESMTPClient.__init__(self, secret, contextFactory, *args, **kw)
exceptions.TypeError?: unbound method init() must be called with ESMTPClient
instance as first argument (got ESMTPSender instance instead)**
在搜索答案时,我在网上找到了一些此错误的示例,包括
您只需将“self”作为参数传递给“Thread.init”并调用超类
但我仍然不确定为什么会出现错误。我将不胜感激有关为什么会发生此错误以及如何解决问题的任何指导/帮助。我不是这段代码的作者,所以我不确定要寻找什么来解决问题。
在以下代码从 gmail 帐户更改为公司帐户之前,该电子邮件正在工作。
c['status'].append(mail.MailNotifier(
fromaddr="load.builder@company.co.uk",
extraRecipients=["example@company.com",
],
sendToInterestedUsers=False,
mode=('change', 'failing'),
relayhost="smtp.company.lan",
useTls=True,
smtpUser="lbuilder",
smtpPassword="password"))
这是产生异常的代码块:
class ESMTPSender(SenderMixin, ESMTPClient):
requireAuthentication = True
requireTransportSecurity = True
def __init__(self, username, secret, contextFactory=None, *args, **kw):
self.heloFallback = 0
self.username = username
if contextFactory is None:
contextFactory = self._getContextFactory()
ESMTPClient.__init__(self, secret, contextFactory, *args, **kw)
self._registerAuthenticators()
SSA