Fórum Disparo de e-mail - System.Net.Mail ou Database Mail #385431
01/09/2010
0
Oi!
Gostaria de saber se vocês conhecem algum lugar que posso obter as vantagens e desvantagens entre enviar e-mail pelo System.Net.Mail ou usar o SQL Server, com o Database Mail. Também gostaria de saber a opinião de vocês e suas preferências.
Eu sou suspeito, e por mim uso os recursos que o framework me oferece (tanto que fiz uso do assembly em um projeto que desenvolvi), até porque se mais para frente mudar banco de dados, eu não preciso me preocupar com ter que refazer isso, ou aquilo e etc. Mas meu gerente é DBA e já falou que nos próximos projetos, deve ser usado Database Mail (se deixar ele coloca o projeto inteiro no abnco). Uma pena (do meu ponto de vista)!!
Fico no aguardo, quem sabe com o que vocês me apresentarem consigo argumentar mais e mudar a situação (se vocês concordarem comigo).
Carlos Nogueira
Curtir tópico
+ 0
Responder
Posts
01/09/2010
Luiz Maia
Carlos,
Eu, como desenvolvedor, também prefiro usar sempre os componentes de Email do Framework. São bem mais simples de desenvolver e de dar manutenção. Mas, caso vocês tenham knowhow para desenvolver o recurso usando o SQL Server, realmente é um recurso mais confiável (enfileira mensagens usando queue) e seguro. De uma lida no artigo da MSDN sobre DataBase Email:
Database Mail
SQL Server 2008
Database Mail é uma solução empresarial para envio de mensagens de email do Mecanismo de banco de dados do SQL Server. Com o Database Mail, seus aplicativos de banco de dados podem enviar mensagens de email a usuários. As mensagens podem conter resultados de consulta e incluir, também, arquivos de qualquer recurso de sua rede. O Database Mail foi projetado de modo a garantir confiança, escalabilidade, segurança e suporte.
Observação sobre segurança:
O Database Mail, por padrão, não se encontra ativo. Para usar o Database Mail, é necessário habilitar explicitamente o Database Mail usando o Assistente para Configuração do Database Mail, o procedimento armazenado sp_configure ou usando a faceta Configuração da Área da Superfície do Gerenciamento Baseado em Diretiva.
Confiabilidade
Nenhum requisito de Microsoft Outlook ou de MAPI (Messaging Application Programming Interface) Estendida. O Database Mail usa o protocolo SMTP (Simple Mail Transfer Protocol) padrão para enviar emails. Você pode usar o Database Mail sem instalar um cliente de MAPI Estendida no computador que executa o SQL Server.
Isolamento do processo. Para minimizar o impacto sobre o SQL Server, o componente que entrega emails é executado fora do SQL Server, em um processo separado. O SQL Server continuará a enfileirar as mensagens de email mesmo que o processo externo seja interrompido ou falhe. As mensagens enfileiradas serão enviadas assim que o processo externo ou o servidor SMTP ficar online.
Contas de failover. Um perfil do Database Mail lhe permite especificar mais de um servidor SMTP. Caso um servidor SMTP fique indisponível, as mensagens poderão ser entregues por um outro servidor SMTP.
Suporte a cluster. O Database Mail reconhece cluster e conta com suporte total em um cluster.
Escalabilidade Entrega em segundo plano. O Database Mail fornece entrega em segundo plano ou assíncrona. Quando sp_send_dbmail é chamado para enviar uma mensagem, o Database Mail adiciona uma solicitação a uma fila do Service Broker. O procedimento armazenado retorna imediatamente. O componente de email externo recebe a solicitação e entrega o email.
Vários perfis. O Database Mail lhe permite criar vários perfis dentro de uma instância do SQL Server. Opcionalmente, você pode escolher o perfil a ser utilizado pelo Database Mail para enviar uma mensagem.
Várias contas. Cada perfil pode conter várias contas de failover. Você pode configurar perfis diferentes com contas diferentes para distribuir email por vários servidores de email.
Compatibilidade de 64 bits. O Database Mail tem suporte total em instalações de 64 bits do SQL Server.
Segurança Desativada, por padrão. Para reduzir a área da superfície do SQL Server, os procedimentos armazenados do Database Mail encontram-se desabilitados, por padrão.
Para enviar Database Mail, você deve ser membro da função de banco de dados DatabaseMailUserRole no banco de dados msdb.
Segurança de perfil. O Database Mail reforça a segurança dos perfis de email. Os usuários ou grupos do banco de dados msdb que têm acesso a um perfil do Database Mail são escolhidos por você. Você pode conceder acesso a usuários específicos ou a todos os usuários do msdb. Os perfis particulares restringem o acesso a uma lista especificada de usuários. Os perfis públicos estão disponível para todos os usuários de um banco de dados.
Administrador de tamanho de anexo. O Database Mail impõe um limite configurável ao tamanho do arquivo de anexo. É possível alterar esse limite usando o procedimento armazenado sysmail_configure_sp.
Extensões de arquivo proibidas. O Database Mail mantém uma lista de extensões de arquivo proibidas. Arquivos com extensões que figuram na lista não podem ser anexados pelos usuários. É possível alterar essa lista usando sysmail_configure_sp.
Suporte Configuração integrada. O Database Mail mantém as informações das contas de email no Mecanismo de banco de dados do SQL Server. Não há nenhuma necessidade de gerenciar um perfil de email em um aplicativo cliente externo. O Assistente para Configuração do Database Mail é uma interface conveniente para a configuração do Database Mail. Você também pode criar e manter configurações do Database Mail por meio de Transact-SQL.
Registro. O Database Mail registra a atividade de email no SQL Server, no log de eventos de aplicativos do Microsoft Windows e em tabelas do banco de dados msdb.
Auditoria. O Database Mail mantém cópias das mensagens e anexos enviados no banco de dados msdb. É fácil auditar o uso do Database Mail e examinar as mensagens retidas.
Suporte a HTML. O Database Mail lhe permite enviar email formatado como HTML.
O Database Mail fornece um substituo robusto e de alto desempenho para os recursos de SQL Mail solicitados mais freqüentemente. O Database Mail foi projetado para operar com servidores SMTP e testado com servidores SMTP da Microsoft. Para obter informações sobre conversão de procedimentos armazenados de SQL Mail para Database Mail, consulte Como converter procedimentos armazenados do SQL Mail para Database Mail (Transact-SQL). Observação: O Database Mail não está disponível no SQL Server Express.
Isolamento do processo. Para minimizar o impacto sobre o SQL Server, o componente que entrega emails é executado fora do SQL Server, em um processo separado. O SQL Server continuará a enfileirar as mensagens de email mesmo que o processo externo seja interrompido ou falhe. As mensagens enfileiradas serão enviadas assim que o processo externo ou o servidor SMTP ficar online.
Contas de failover. Um perfil do Database Mail lhe permite especificar mais de um servidor SMTP. Caso um servidor SMTP fique indisponível, as mensagens poderão ser entregues por um outro servidor SMTP.
Suporte a cluster. O Database Mail reconhece cluster e conta com suporte total em um cluster.
Escalabilidade Entrega em segundo plano. O Database Mail fornece entrega em segundo plano ou assíncrona. Quando sp_send_dbmail é chamado para enviar uma mensagem, o Database Mail adiciona uma solicitação a uma fila do Service Broker. O procedimento armazenado retorna imediatamente. O componente de email externo recebe a solicitação e entrega o email.
Vários perfis. O Database Mail lhe permite criar vários perfis dentro de uma instância do SQL Server. Opcionalmente, você pode escolher o perfil a ser utilizado pelo Database Mail para enviar uma mensagem.
Várias contas. Cada perfil pode conter várias contas de failover. Você pode configurar perfis diferentes com contas diferentes para distribuir email por vários servidores de email.
Compatibilidade de 64 bits. O Database Mail tem suporte total em instalações de 64 bits do SQL Server.
Segurança Desativada, por padrão. Para reduzir a área da superfície do SQL Server, os procedimentos armazenados do Database Mail encontram-se desabilitados, por padrão.
Para enviar Database Mail, você deve ser membro da função de banco de dados DatabaseMailUserRole no banco de dados msdb.
Segurança de perfil. O Database Mail reforça a segurança dos perfis de email. Os usuários ou grupos do banco de dados msdb que têm acesso a um perfil do Database Mail são escolhidos por você. Você pode conceder acesso a usuários específicos ou a todos os usuários do msdb. Os perfis particulares restringem o acesso a uma lista especificada de usuários. Os perfis públicos estão disponível para todos os usuários de um banco de dados.
Administrador de tamanho de anexo. O Database Mail impõe um limite configurável ao tamanho do arquivo de anexo. É possível alterar esse limite usando o procedimento armazenado sysmail_configure_sp.
Extensões de arquivo proibidas. O Database Mail mantém uma lista de extensões de arquivo proibidas. Arquivos com extensões que figuram na lista não podem ser anexados pelos usuários. É possível alterar essa lista usando sysmail_configure_sp.
Suporte Configuração integrada. O Database Mail mantém as informações das contas de email no Mecanismo de banco de dados do SQL Server. Não há nenhuma necessidade de gerenciar um perfil de email em um aplicativo cliente externo. O Assistente para Configuração do Database Mail é uma interface conveniente para a configuração do Database Mail. Você também pode criar e manter configurações do Database Mail por meio de Transact-SQL.
Registro. O Database Mail registra a atividade de email no SQL Server, no log de eventos de aplicativos do Microsoft Windows e em tabelas do banco de dados msdb.
Auditoria. O Database Mail mantém cópias das mensagens e anexos enviados no banco de dados msdb. É fácil auditar o uso do Database Mail e examinar as mensagens retidas.
Suporte a HTML. O Database Mail lhe permite enviar email formatado como HTML.
O Database Mail fornece um substituo robusto e de alto desempenho para os recursos de SQL Mail solicitados mais freqüentemente. O Database Mail foi projetado para operar com servidores SMTP e testado com servidores SMTP da Microsoft. Para obter informações sobre conversão de procedimentos armazenados de SQL Mail para Database Mail, consulte Como converter procedimentos armazenados do SQL Mail para Database Mail (Transact-SQL). Observação: O Database Mail não está disponível no SQL Server Express.
Responder
Gostei + 0
01/09/2010
Carlos Nogueira
Entendi Luiz,
Então neste caso veremos como será no Database Mail, o único que tem know-how mesmo é o próprio gerente, se ele não se arrepender depois de ter que fazer uma possível manutenção, por mim, tudo bem, rsrs..
Obridago cara, pode finalizar este chamado!
Até mais
Então neste caso veremos como será no Database Mail, o único que tem know-how mesmo é o próprio gerente, se ele não se arrepender depois de ter que fazer uma possível manutenção, por mim, tudo bem, rsrs..
Obridago cara, pode finalizar este chamado!
Até mais
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)