O correio do banco de dados não envia e-mails

3

Estou tentando configurar o banco de dados de correio no ms sql 2005. Eu configuro, mas toda vez que tento enviar uma mensagem por meio do testador de e-mail, ele falha e recebo essa mensagem.

Date 7/7/2010 10:54:12 AM Log Database Mail (Database Mail Log)

Log ID 48 Process ID 2148 Mail Item ID 23 Last Modified 7/7/2010 10:54:12 AM Last Modified By sa

Message The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 1 (2010-07-07T10:54:11). Exception Message: Cannot send mails to mail server. (Failure sending mail.). )

Eu não entendo o porquê. Eu estou usando meu isp smtp e ele usa para trabalhar por um breve tempo com o correio de banco de dados. Eu mesmo pingado meu servidor smtp através de prompt cmd e eu posso alcançá-lo. Então eu não entendo porque isso não funciona.

Eu até tentei minha empresa de hospedagem, smtp e gmail smtp. Eu sempre recebo a mesma msg.

Quando eu tento o tutorial, desde que meu Km_ receba

1) Exception Information  ===================  Exception Type: System.NullReferenceException  Message: Object reference not set to an instance of an object.  Data: System.Collections.ListDictionaryInternal  TargetSite: Microsoft.SqlServer.Management.SqlIMail.Server.Objects.Account GetAccount(Int32)  HelpLink: NULL  Source: DatabaseMailEngine    StackTrace Information  ===================     at Microsoft.SqlServer.Management.SqlIMail.Server.DataAccess.DataAccessAdapter.GetAccount(Int32 accountID)     at Microsoft.SqlServer.Management.SqlIMail.Server.DataAccess.SessionManager.GetAccount(Int32 accountID)     at Microsoft.SqlServer.Management.SqlIMail.Server.Controller.CommandFactory.CreateSendMailCommand(DBSession dbSession)     at Microsoft.SqlServer.Management.SqlIMail.Server.Controller.CommandFactory.CreateCommand(DBSession dbSession)     at Microsoft.SqlServer.Management.SqlIMail.Server.Controller.CommandRunner.Run(DBSession db)     at Microsoft.SqlServer.Management.SqlIMail.IMailProcess.ThreadCallBack.MailOperation(Object o)
    
por chobo2 07.07.2010 / 19:59

2 respostas

1

A opção de correio do banco de dados está ativada? Se não usar esse script e verifique se ele está em

sp_CONFIGURE 'show advanced', 1
GO
RECONFIGURE
GO
sp_CONFIGURE 'Database Mail XPs', 1
GO
RECONFIGURE
GO 
sp_CONFIGURE 'show advanced', 0
GO
RECONFIGURE
GO

Verifique também se a porta 25 está aberta. Se você estiver usando o gmail, pode ser necessário usar a porta 587. confira este blog

    
por 07.07.2010 / 20:26
0

Existem muitas razões pelas quais esse tipo de coisa pode falhar. Infelizmente, o log que você obteve não é detalhado o suficiente para traçar a razão exata para isso. O que eu estou suspeitando é o caso aqui é que o endereço "De:" nos e-mails não está configurado corretamente. A maioria dos remetentes de mensagens exige que o endereço Para: ou De: esteja em uma lista de domínios locais ("gmail.com", por exemplo) e não aceitará mensagens que não tenham isso. Então, se o seu e-mail é proveniente de "[email protected]" e está enviando para "algué[email protected]", mas o encaminhamento através de mailer do seu ISP local, o mailer do ISP irá rejeitar a mensagem. Esse tipo de coisa pode ser ignorado se você puder configurar o SMTP autenticado.

    
por 07.07.2010 / 20:24