23

我无法获得 TFS 2012 工作的团队警报。我的问题与这个问题基本相同(TFS 2012 Team Alerts 不起作用)。但是由于我能够详细说明我的问题,我决定再问一次。

  • 个人警报确实有效,所以这不是一个明显的 smtp 服务器错误
  • 团队警报不起作用
  • 我们的 TFS 未连接到活动目录
  • 所有用户都在他们的偏好中指定了“首选电子邮件”
  • 用户被分配到我的警报指定的团队

这是一个很好的个人警报示例

有效的个人警报示例

这是一个不起作用的团队警报示例

无效的团队警报示例

除了过滤器中的“通配符”参数外,设置基本相同

TFS 在哪里选择[Members' Default Alert Address]?这与首选电子邮件不同吗?

任何指针将不胜感激

附录

查看 Tfs cammand 提示工具 (tfsconfig configuremail) 和管理控制台会引发更多问题

Team Foundation Server 管理控制台显示启用的警报和正确的设置

Team Foundation Server 管理控制台,电子邮件警报设置

但是命令提示符工具 tfsconfig configuremail 说警报被禁用

tfsconfig 配置邮件

我发现无法使用命令提示工具 ( http://msdn.microsoft.com/en-us/library/vstudio/dd236903.aspx ) 激活警报,只有管理控制台中的复选框

目前主要线索:

  1. TFS 在哪里选择[Members' Default Alert Address]
  2. 为什么启用/禁用警报不匹配?
4

8 回答 8

15

我决定自己回答这个问题,主要是因为它可能不是没有活动目录的 tfs 的正确解决方案(基于这篇文章中的答案/评论)

这些是我为确保发送团队警报而采取的步骤

  1. 确保您的设置正确 http://msdn.microsoft.com/en-us/library/ms400808(v=vs.110).aspx
  2. 确保您的团队警报中有团队项目过滤器
  3. 在 Team Foundation Server 管理控制台中启用团队警报 Team Foundation Server 管理控制台
  4. 使用 tfsconfig 命令提示工具启用团队警报(这是一个未记录的功能) tfsconfig configuremail /Enabled:True
  5. 检查事件查看器日志 Tfs 事件查看器日志
  6. 确保所有名称都直截了当,没有任何撇号或特殊字符,尝试只有一个成员并进行测试,并开始每次测试都增加成员数量,直到遇到问题。(感谢来自此答案的 M. Radwan )
  7. 使用本指南诊断电子邮件和 SOAP 订阅失败 http://blogs.msdn.com/b/granth/archive/2009/10/28/tfs2010-diagnosing-email-and-soap-subscription-failures.aspx
  8. 确保广告中的用户收到正确的电子邮件
于 2013-02-06T15:07:49.820 回答
6

遵循此处的所有说明(并发现奇怪的未记录的启用/禁用配置)后,我仍然遇到同样的问题。

然后我阅读了这个问题- 答案似乎是相同的:没有 Active Directory,TFS 将不会发送团队警报。用户可以设置他们的首选电子邮件地址,然后 TFS 将作为“[会员的默认电子邮件地址]”同步到 Active Directory。如果未找到 Active Directory,则该同步将不起作用,这意味着他们的默认电子邮件为空白。空白电子邮件意味着没有发送警报(这意味着发送失败也没有错误)。

因此,除非有人编写插件(或 TFS 团队更改了它在后台的工作方式),否则您需要 Active Directory 才能使团队警报正常工作。

于 2013-04-24T02:13:29.327 回答
2

如果上述方法没有帮助,请将其发布为额外的验证步骤。我正在使用 TFS 2012。我最初逐步完成了上述步骤并获得了电子邮件通知,但过了一段时间它就停止了。

在重复上述步骤但没有成功后,我参考了事件查看器 Applications and Service Logs --> Microsoft-Team Foundation Server --> Debug as Urban 提到的。我发现了数以千计的与 TFSJobAgent 相关的错误。我选择通过管理工具通过 Services.msc 重新启动服务:“Visual Studio Team Foundation 后台作业代理”,并立即收到所有待处理的电子邮件警报。

在遇到此 Microsoft 文档后,我最初搜索服务列表以查找以 TFS 开头的内容:http: //msdn.microsoft.com/en-us/library/ms253108.aspx我找到了相关服务。

于 2013-06-11T15:12:29.133 回答
0

要发送电子邮件通知,您必须在部署中配置以下内容,请确保您的防火墙必须配置为允许 Team Foundation Server 和 SMTP 服务器之间的通信。

Team Foundation Server 的服务帐户(由占位符 TFSService 引用)必须是具有发送电子邮件权限的域帐户,您的 SMTP 服务器必须配置为允许匿名发件人发送电子邮件,或者您之前必须专门创建一个帐户用作警报的电子邮件帐户。

如果您使用系统帐户(如网络服务)作为 Team Foundation Server 的服务帐户,则必须将 SMTP 服务器配置为允许匿名发件人发送电子邮件,或者必须确保为你的部署。如果您不这样做,将不会发送电子邮件通知。

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms400808.aspx

于 2013-02-05T14:05:42.390 回答
0

我通过从 TFS 管理员/警报通知屏幕向每个成员发送测试警报电子邮件来解决此问题。我的理解是,通过这种方法,它会填充这些电子邮件地址并知道发送到哪里。显然,MS 测试人员错过了他们小组已经在某处兑现的电子邮件。就我而言,我有一个小型创业团队,但我可以想象对于企业集团来说,这可能是一项相当大的工作。

于 2014-07-13T11:43:37.330 回答
0

您在警报资源管理器中添加了警报,但未指定任何团队项目。一旦我添加了团队项目过滤器,它就开始工作了。

于 2013-02-05T14:07:06.117 回答
0

我遇到过同样的问题。您的内部 smtp 服务器(仅发送内部电子邮件)不需要身份验证。

我设置为用户名:匿名密码:123

我很惊讶它起作用了;-)。

于 2013-09-05T17:30:15.703 回答
0

只需在本地机器(TFS 机器)上托管 SMTP,并将本地机器的 IP 与 127.0.0.1 一起放在中继部分。

我为这个错误苦苦挣扎了好几个小时,终于解决了我的问题......

于 2017-02-16T10:38:45.520 回答