邮件排队但未在SQL Server 2014中传递
问题描述:
我试图通过使用SQL Server 2014的电子邮件发送SQL查询的结果。问题是电子邮件正在排队,但未传递给收件人。与服务器的连接存在一些问题。我得到的描述是:邮件排队但未在SQL Server 2014中传递
由于邮件服务器故障,邮件无法发送给收件人。 (使用帐户1发送邮件(2017-04-05T16:05:09))异常消息:无法连接到邮件服务器(连接尝试失败,因为连接方在一段时间后没有正确响应或建立连接。失败,因为连接主机未能响应74.125.130.109:25)
我的代码是:
EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = 'MIS_Automation_Project',
@description = 'Mail account for office files.',
@email_address = 'my_email_address',
@display_name = 'MIS_Automation',
@mailserver_name = 'smtp.gmail.com' ;
-- Create a Database Mail profile
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'MIS_Automation',
@description = 'Profile used for mis automation project' ;
-- Add the account to the profile
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'MIS_Automation',
@account_name = 'MIS_Automation_Project',
@sequence_number =1 ;
-- Grant access to the profile to the DBMailUsers role
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'MIS_Automation',
@principal_name = 'guest',
@is_default = 1 ;
DECLARE @xml NVARCHAR(MAX)
DECLARE @body NVARCHAR(MAX)
SET @xml = CAST((SELECT [clno] AS 'td','',[clname] AS 'td','',
[cladd] AS 'td'
FROM Client
FOR XML PATH('tr'), ELEMENTS) AS NVARCHAR(MAX))
SET @body ='<html><body><H3>Client Information</H3>
<table border = 1>
<tr>
<th> Client No </th> <th> Client Name </th> <th> Client Address </th>
</tr>'
SET @body = @body + @xml +'</table></body></html>'
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'MIS_Automation', -- replace with your SQL Database Mail Profile
@body = @body,
@body_format ='HTML',
@recipients = 'recipient', -- replace with your email address
@subject = 'E-mail in Tabular Format' ;
我怎样才能解决这个问题
答
我最好的猜测是您使用?错误的身份验证方法连接到谷歌SMTP服务器(错误消息表明你尝试连接吨端口25但谷歌使用安全的SSL端口465据我记得)。此外,没有凭据传递,因此它试图使用匿名身份验证,我认为这不会与Gmail的工作)。
因此对于故障排除,你可以从一些简单的验证启动:
请通过SSMS连接到SQL Server和导航到管理 - >数据库邮件 - >配置数据库邮件 - >管理数据库邮件帐户和配置文件 - >查看,更改或删除现有帐户并验证设置。您应该启用SSL(指定端口465)和基本身份验证。
我的另一个想法是防火墙阻止连接,所以它将是第二点值得验证。
如果还是不行下面的文章可能是有用的: https://technet.microsoft.com/en-us/library/ms187540%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396
你可以通过右键单击SQL代理检查电子邮件错误日志 – TheGameiswar