我正在尝试让我们当前安装的 Team Foundation Server (TFS) 2008 正确发送警报和电子邮件通知。
我遇到的主要问题是这个错误:
TF53010:Team Foundation 组件或扩展中发生了以下错误:日期(UTC):2009 年 8 月 18 日下午 3:27:39 计算机:DEV02 应用程序域:/LM/W3SVC/681929560/Root/Services-2-128950828377749110 程序集:Microsoft.TeamFoundation.Server,Version=9.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a;v2.0.50727 进程详细信息:进程名称:w3wp 进程 ID:4484 线程 ID:6072 帐户名称:NT AUTHORITY\NETWORK SERVICE
详细消息:TF50282:无法连接到以下电子邮件服务器:10.1.0.166 错误消息:System.Net.Mail.SmtpException:邮箱不可用。服务器响应为:5.7.1 客户端无权以此发件人发送,位于 System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response),位于 System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, String from),位于 System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection mailboxes, String deliveryNotify, SmtpFailedRecipientException& exception),位于 System.Net.Mail.SmtpClient.Send(MailMessage message),位于 Microsoft.TeamFoundation.Server.WebServiceNotification.SendOneEmail(Boolean plaintext, String to)
有关详细信息,请参阅帮助和支持中心http://go.microsoft.com/fwlink/events.asp。
TFS 的文档说要在 DIVE\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\Services 中编辑 web.config
我对该文件的编辑如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="ConnectionString" value="Application Name=TeamFoundation;Persist Security Info=False;Initial Catalog=TfsIntegration;Data Source=DEV02;Integrated Security=SSPI"/>
<add key="eventingEnabled" value="true" />
<add key="DetailedExceptions" value="false" />
<add key="emailNotificationFromAddress" value="[email protected]" />
<add key="smtpServer" value="10.1.0.166" />
<!-- Optional Alert Settings
AlertUseReplyTo: True, False (default: True). Specifies that the ReplyTo property of the
email alert should be set. When false, the From property is set.
<add key="AlertUseReplyTo" value="True" />
-->
</appSettings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin\Plugins;bin\Plugins\zh-chs;bin\Plugins\zh-cht;bin\Plugins\de;bin\Plugins\es;bin\Plugins\fr;bin\Plugins\it;bin\Plugins\ja;bin\Plugins\ko"/>
</assemblyBinding>
</runtime>
<system.web>
<!-- Enable the HttpHandlers for file upload and download -->
<httpHandlers>
<add verb="*" path="methodology.asmx" type="Microsoft.TeamFoundation.Client.MethodologyDownloadHandler" />
<add verb="*" path="methodologyUpload.asmx" type="Microsoft.TeamFoundation.Client.MethodologyUploadHandler" />
</httpHandlers>
</system.web>
</configuration>
我想知道的是:
- 应如何设立交换?
- 我们正在运行 Exchange 2007
- 我几乎确信已设置匿名发送
- 他们有任何中继器要求吗
- 应该如何设置 TFS?-smtpServer 属性应该是内部 IP 还是完全合格的本地域名?-emailNotificationFromAddress 应该是什么?-我已经测试了一个我们知道有效的(Web 应用程序发送给它),但我希望发件人姓名是一个通讯组,以便团队成员可以在必要时回复所有人。(我认为这需要取消注释 AlerUserReplyTo 键,但我只是想让电子邮件正常工作)。
任何意见都非常好!谢谢!
答案1
查看配置,我看不出 TFS 方面有什么明显错误。但是,我们遇到了类似的问题,发现 Exchange 上针对特定服务器的内部中继已关闭。一旦允许它通过,它就可以正常工作。
Tech Republic 有一篇关于在 Exchange 2007 上允许中继的详细文章这里
不过,为了便于将来参考,TFS 2010 借助新的管理控制台使电子邮件发送的配置变得非常简单。只需单击 3 次即可完成。
答案2
Exchange 2007 默认要求您为该发送服务器(TFS 服务器)定义一个连接器,然后它才能连接到 Exchange 并发送消息。或者,如其他帖子所述,打开允许从内部主机进行中继是另一种可能性。