Usuário com melhor resposta
Database Mail - e-mails não saem da fila.

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
-
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator segunda-feira, 23 de dezembro de 2019 01:13
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:47Moderador -
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:54Moderador -
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
- Editado Luiz Fernando BR terça-feira, 23 de abril de 2013 19:00
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 23 de abril de 2013 19:38
- Não Marcado como Resposta Paula_Gaviao quarta-feira, 24 de abril de 2013 14:12
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 -
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator segunda-feira, 23 de dezembro de 2019 01:13
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