locked
Database Mail - e-mails não saem da fila. RRS feed

  • Pergunta

  • Bom dia povo,

    Tenho vários job's que disparam e-mails com resultados todos os dias, porém o Database Mail não esta enviando os e-mails, executei o comando :

    EXECUTE msdb.dbo.sysmail_help_queue_sp @queue_type = 'Mail'

    e o resultado foi:

    queue_type   length    state            last_empty_rowset_time       last_activated_time
    mail              575        INACTIVE    2013-04-23 14:12:35.257     2013-04-23 14:12:35.223

    ----------------------------------------------------------------------------------------------------------------------

    Verifiquei os itens abaixo e esta tudo ok:

    1. Verifique no SQL Server Agent se o Database mail está habilitado. SQL Server agent -> properties -> Alert system.

    2. Execute sp_configure, verifique  se o Database mail está habilitado. Exemplo: Database Mail XPs 0 1 1 1

    3. Verifique se o service broker no database MSDB está habilitado. 1->Habilitado
       select is_broker_enabled,* from sys.databases

    4. Verifique o status do Database Mail (msdb) se está STARTED.
       EXECUTE dbo.sysmail_help_status_sp

    --Verifique se o serviço do Service Browser está ativo!

    ----------------------------------------------------------------------------------------------------------------------

    Alguém imagina o que pode ser??

    Obrigada

    Paula

    terça-feira, 23 de abril de 2013 14:45

Respostas

  • Passei por esse problema quando estavamos mudando de Exchange OnPremise para Exchange Online e tivemos que mudar o endereço SMTP.

    Se a resposta for util, classifique-a


    Att,
    Marcos Freccia [MTA|MCTS|MCITP|MCT SQL Server 2008]
    Blog|Twitter
    Assine também os feeds clicando aqui

    sábado, 27 de abril de 2013 19:54

Todas as Respostas

  • Paula, Que conta vc está utilizando? Verifique a porta e se necessita de conexão segura (SSL)
    terça-feira, 23 de abril de 2013 17:26
  • Oi Luiz, já verifiquei a porta 25 e está ok!

    Na configuração da conta esta como Não necessita de conexão segura (SSL).

    Me desculpe a ignorância, mas preciso verificar por exemplo se esse servidor de email que estou usando necessita de conexão segura e aí sim alterar na configuração da conta no sql para sim, necessita de ssl?

    Obrigada!

    terça-feira, 23 de abril de 2013 17:56
  • Paula, vc está utilizando quel servidor de email? gmail, hotmail ou vc tem um provedor próprio?
    terça-feira, 23 de abril de 2013 18:15
  • Utilizo uma conta do servidor SMTP da empresa; é isso que quer saber?


    • Editado Paula_Gaviao terça-feira, 23 de abril de 2013 18:21
    terça-feira, 23 de abril de 2013 18:19
  • Sim. Geralmente empresas que trabalham com servidor SMTP, utilizam segurança habilitada (ou pelo menos deveriam).  Faça o seguinte, altere desta forma e deixe a porta padrão (ou veja com o seu adm. qual deve usar):

    terça-feira, 23 de abril de 2013 18:39
  • Paula,

    Configure o SQL Server Agent para trabalhar com o Operador que você configurou no seu Database Mail.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    terça-feira, 23 de abril de 2013 18:47
    Moderador
  • Ok Luiz, vou fazer esse teste, apesar de terem me informado de que o servidor SMTP não requer SSL.

    Posso fazer essa alteração agora com o banco em uso? não vai dar pau não né? rs

    Obrigada

    terça-feira, 23 de abril de 2013 18:51
  • Paula,

    Pode fazer sim, a questão do Database Mail não vai impactar nos demais bancos, vale ressaltar que a porta para envio de e-mail tem que estar aberta.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    terça-feira, 23 de abril de 2013 18:54
    Moderador
  • Paula, Sempre faça testes em ambientes de homologação e testes.

    Apenas para testar o envio, vc pode rodar esta query:

    ------------------------------------------

    declare @body1 varchar(100)
    set @body1 = 'Server :'+@@servername+ 'Teste de envio do database mail'
     
    EXEC msdb.dbo.sp_send_dbmail
    @recipients='email de recebimento',
    @subject = 'Teste de configuração do Database Mail',
    @body = @body1,
    @body_format = 'HTML'

    ------------------------------------------

    Caso dê certo, vc tem que fazer o que o Junior falou: checar se o database mail está configurado para trabalhar com um operador (que executará a ação de envio no ato do job)

    Antes de prosseguir, não deixe de ler:

    --Para Databasemail: http://msdn.microsoft.com/pt-br/library/ms187605.aspx

    --E para as variéveis da sp sysmail_add_account_sp: http://technet.microsoft.com/en-us/library/ms182804.aspx



    terça-feira, 23 de abril de 2013 18:59
  • Olá pessoal,

    Bom... fiz o teste habilitando SSL mas continuo na mesma! :(

    O que eu acho muito louco é que funcionava normalmente com as mesmas configurações existentes hj!!! A empresa em que trabalho é de um grupo, tudo que fazemos aqui, e-mails que enviamos,o servidor SMTP, etc fica tudo na central em outro local, tudo que se faz aqui passa por la! com a experiência de vocês, acham que o problema esta no meu sql ou pode estar lá na central?

    -----------------------------------------------------------------------------------------------------

    Poderia me explicar melhor o passo disso aqui Junior? rs me perdoe a ignorância!

    Configure o SQL Server Agent para trabalhar com o Operador que você configurou no seu Database Mail.

    -----------------------------------------------------------------------------------------------------

    Obrigada!

    quarta-feira, 24 de abril de 2013 13:39
  • Vou postar aqui os erros que aparecem no log do database mail, pelo que entendi o problema não esta aqui no meu sql e sim no servidor de e-mails certo?

    -----------------------------------------------------------------------------

    The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 2 (2013-04-20T18:04:42). Exception Message: Cannot send mails to mail server. (The operation has timed out.).

    -----------------------------------------------------------------------------

    The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 2 (2013-04-20T18:01:48). Exception Message: Cannot send mails to mail server. (Failure sending mail.).

    -----------------------------------------------------------------------------

    The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 2 (2013-04-20T18:00:22). Exception Message: Could not connect to mail server. (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 10.172.10.201:25).
    -----------------------------------------------------------------------------

    Todas as mensagens de erro são relacionadas ao servidor de e-mails.... e o povo aqui me cobrando que o problema vem daqui, mas na minha cabeça parece que não! Tudo bem que não sou uma expert em sql, mas não consigo entender que seja o problema no sql... Será que podem ter bloqueado alguma conexão... O rapaz da rede aqui fez um teste configurando o mesmo servidor pelo outlook e esta ok...

    Dei um select na sysmail_mailitems e vejo os e-mails lá....isso quer dizer que não foram enviados pelo sql?

    estou desesperada já não sei o que fazer!

    Agradeço desde já a todos, obrigada!!!

    quarta-feira, 24 de abril de 2013 15:50
  • Paula,

    Já verificou a porta, se é a 25 para saída mesmo? Aqui na empresa estávamos com problema no envio também, porém recebemos aviso da localweb (Domínio) que a porta de saída seria alterada de 25 para 587, efetuamos a alteração de 25 para 587 na configuração e voltou a funcionar normalmente.


    []'s

    quinta-feira, 25 de abril de 2013 19:22
  • Oi Fernando,

    Já fiz esse teste, não funcionou :(

    Engraçado, o último registro do log do database mail data de 20/04/2013...

    parece que ele parou ai, só não entendo pq??

    Consultei a sysmail_allitems e a coluna sent_status esta como unsent, ou seja não enviado.. o que poderia ser?

    Agradeço qualquer ajuda de coração!

    Obrigada


    • Editado Paula_Gaviao sexta-feira, 26 de abril de 2013 01:14
    quinta-feira, 25 de abril de 2013 20:23
  • Paula, você consegue acessar o mailbox desta conta de email que está configurada para mandar os emails pelo sql?
    sexta-feira, 26 de abril de 2013 11:44
  • Eu diretamente não, mas o rapaz da rede tem acesso e me libera!


    • Editado Paula_Gaviao sexta-feira, 26 de abril de 2013 14:20
    sexta-feira, 26 de abril de 2013 14:20
  • Fernanda,

    Você já tentou mandar um e-mail de uma outra máquina com as mesmas credenciais que você está utilizando na configurações do database mail?

    Você já tentou configurar uma outra conta qualquer nesse servidor e tentar mandar um mail a partir dele?

    Assim eu acho que assim você consegue indentificar melhor em qual ponta está o problema.

    Dependendo de como for, eu posso te passar um script que eu fiz aqui em Powershell, para realizar um envio de e-mail (e confirmar se o problema está no servidor ou na configuração do database mail).

    Só dar um toque.

    []'s!

    sexta-feira, 26 de abril de 2013 15:06
  • Oi Logan, nossa agradeceria eternamente a você se me passasse esse script...

    Assim poderia definir se o problema é realmente meu (no sql) ou se é de outro (rede, servidor SMTP...)

    Sabe qdo vc já não sabe mais o que fazer?? Pois é, estou assim! Desesperada!!!

    Obrigada mais uma vez!!!

    Ahh, meu nome é Paula rsrs :)

    sexta-feira, 26 de abril de 2013 15:34
  • Putz PAULA!

    Foi mal mesmo erro no nome, perdão :-)

    Bom, segue o link do script: http://sdrv.ms/11K31np

    Espero que te ajude.

    []'s!

    sexta-feira, 26 de abril de 2013 16:23
  • Passei por esse problema quando estavamos mudando de Exchange OnPremise para Exchange Online e tivemos que mudar o endereço SMTP.

    Se a resposta for util, classifique-a


    Att,
    Marcos Freccia [MTA|MCTS|MCITP|MCT SQL Server 2008]
    Blog|Twitter
    Assine também os feeds clicando aqui

    sábado, 27 de abril de 2013 19:54
  • Oi Paula!

    E então, conseguiu resolver o problema?

    segunda-feira, 29 de abril de 2013 19:34