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. 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;" >
</tr> </tbody> </table>
11/05/2012 | Por Igor Abade V. Leite | Em Técnico | Tempo de leitura: 1 min.