
Hoje, deparei com um problema
corriqueiro em um dos servidores SQL Server 2005 de um cliente.
xp_sendmail: failed with mail error 0x80040115
xp_sendmail: failed with mail error 0x80040000
Vamos lá!
Como ninguém sabe tudo precisei
recorrer ao Books online da Microsoft e encontrei as referências [1] [2] que
auxiliaram no entendimento e consequentemente na solução do problema.
Funcionamento
O SQL Server implementa o serviço
de SQL Mail. E para cada sessão aberta do cliente os componentes MAPI façam o
logon no servidor de email, conforme a configuração estipulada no profile do
SQL Mail.
Quando são identificadas falhas
no envio das mensagens é comum que os DBAs menos atualizados reiniciem o
serviço do SQL Server, sem necessidade. É claro que após a reinicialização do
serviço vai funcionar. Como ninguém sabe tudo precisei recorrer ao Books online
da Microsoft e encontrei as referências [1] [2] que auxiliaram no entendimento
e consequentemente na solução do problema.
Esse recurso que utilizei será
removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso
em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o
utilizam para os novos recursos implementados pela Microsoft no SQL Server.
Solução simples:
|
exec master.dbo.xp_stopmail
GO
EXEC master.dbo.xp_sendmail
@recipients=’andersonabreu@gmail.com’,
@message=’Corpo do email teste’,
@subject=’Assunto: teste de envio de email’
|
Ao realizar o teste, houve um
momento que foi necessário iniciar o serviço.
Se você usar xp_startmail para
iniciar as sessões de e-mail, poderá fornecer opcionalmente seu nome de login e
senha para que não tenha de digitá-los no prompt de comando. Entretanto, o SQL
Mail não será executado em uma sessão MAPI existente se houver uma em execução.
|
exec master.dbo.xp_startmail
GO
EXEC master.dbo.xp_sendmail
@recipients=’andersonabreu@gmail.com’,
@message=’Corpo do email teste’,
@subject=’Assunto: teste de envio de email’
|
Nenhum comentário:
Postar um comentário