using System; using System.Collections.Generic; using System.Web; using MySQL; using System.Data; using System.Web.Configuration; namespace Intranet { /// /// Gestão de grupos de endereços de e-mail /// public class Qmail { public Qmail() { // // TODO: Add constructor logic here // } /// /// Servidor Qmail de Torres Novas /// public class Sede { /// /// Criação de grupo. /// Remove todos os endereços nele existentes e volta a cria-los de novo /// /// Nome do grupo de e-mails /// Array com os endereços a adicionar ao grupo static public bool CriarGrupo(string Alias, string[] Enderecos) { bool gravado = false; sql sqlAlias = new sql(WebConfigurationManager.ConnectionStrings["Qmail"].ConnectionString); string[] _grupo = Alias.Split('@'); // ELIMINA TODOS OS ENDEREÇOS DO GRUPO ESPECÍFICO sqlAlias.Query = "DELETE FROM valias WHERE alias='" + _grupo[0] + "' AND domain='" + _grupo[1] + "'"; sqlAlias.Write(); // CRIA NOVAMENTE O GRUPO sqlAlias.Query = "INSERT INTO valias VALUES"; foreach (string email in Enderecos) { sqlAlias.Query = sqlAlias.Query + " ('" + _grupo[0] + "', '" + _grupo[1] + "', '&" + email + "'),"; } sqlAlias.Query = sqlAlias.Query.Remove(sqlAlias.Query.Length - 1); // REMOVE A ÚLTIMA VIRGULA (,) gravado = sqlAlias.Write(); sqlAlias.closeConnection(); return gravado; } } /// /// Servidor Qmail de Abrantes /// public class Abrantes { /// /// Criação de grupo. /// Remove todos os endereços nele existentes e volta a cria-los de novo /// /// Nome do grupo de e-mails /// Array com os endereços a adicionar ao grupo static public bool CriarGrupo(string Alias, string[] Enderecos) { bool gravado = false; sql sqlAlias = new sql(WebConfigurationManager.ConnectionStrings["Qmail"].ConnectionString); string[] _grupo = Alias.Split('@'); // ELIMINA TODOS OS ENDEREÇOS DO GRUPO ESPECÍFICO sqlAlias.Query = "DELETE FROM valias WHERE alias='" + _grupo[0] + "' AND domain='" + _grupo[1] + "'"; sqlAlias.Write(); // CRIA NOVAMENTE O GRUPO sqlAlias.Query = "INSERT INTO valias VALUES"; foreach (string email in Enderecos) { sqlAlias.Query = sqlAlias.Query + " ('" + _grupo[0] + "', '" + _grupo[1] + "', '&" + email + "'),"; } sqlAlias.Query = sqlAlias.Query.Remove(sqlAlias.Query.Length - 1); // REMOVE A ÚLTIMA VIRGULA (,) gravado = sqlAlias.Write(); sqlAlias.closeConnection(); return gravado; } } } }