11/05/2012 | Autor: Igor Abade V. Leite | Categoria: Técnico | Comentários

Como acessar programaticamente as configurações de SMTP do TFS

Você está desenvolvendo um plugin server-side para o TFS (como um event handler) que precisa enviar email? Uma estratégia bastante interessante seria usar o mesmo servidor SMTP já configurado para o TFS – dessa forma você não precisa manter essa configuração em seu plugin. Configurações de SMTP do TFS - vamos ver como lê-las programaticamente? Essa configuração – e muitas outras – está gravada no TFS Registry. Para acessá-la, use o exemplo de código abaixo (cortesia do MVP português Tiago Pascoal):

1
internal class EmailSettings { private TfsTeamProjectCollection _tfs; private string smtpServer, fromAddress; private Nullable emailEnabled; public EmailSettings(TfsTeamProjectCollection tfs) { tfs = tfs; } public string GetSMTPServer() { if (smtpServer != null) return smtpServer; return smtpServer = GetValueFromRegistry("/Service/Integration/Settings/SmtpServer"); } public string GetFromAddress() { if (fromAddress != null) return fromAddress; return fromAddress = GetValueFromRegistry("/Service/Integration/Settings/EmailNotificationFromAddress"); } public bool GetEmailEnabled() { if (emailEnabled.HasValue) return emailEnabled.Value; emailEnabled = GetValueFromRegistry("/Service/Integration/Settings/EmailEnabled"); return emailEnabled.Value; } private T GetValueFromRegistry(string key) { ITeamFoundationRegistry service = tfs.ConfigurationServer.GetService(); return service.GetValue(key); } }

Um abraço, <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 0cm 0cm 0cm;" border="0" class="MsoNormalTable" > <tbody > <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;" >

**[![clip_image001[4]](https://blog.lambda3.com.br/wp-content/uploads//2012/05/clip_image0014_thumb.png)](http://blog.lambda3.com.br/wp-content/uploads//2012/05/clip_image0014.png)** **Igor Abade V. Leite** Microsoft MVP - Visual Studio ALM - Brasil [https://mvp.support.microsoft.com/profile/igor.leite](https://mvp.support.microsoft.com/profile/igor.leite) Twitter: [@igorabade](http://twitter.com/igorabade)

</tr> </tbody> </table>