我正在尝试从SQL Server向Trigger发送电子邮件。我按照this博客中的指导进行了表演。每当我尝试作为电子邮件时,我都会收到错误。
EXEC msdb.dbo.sysmail_add_account_sp
@account_name = 'ChandreshTestAccount'
, @description = 'Sending email from test account'
, @email_address = 'chandresh.cmk@gmail.com'
, @display_name = 'No-Reply'
, @replyto_address = 'chandresh.cmk@gmail.com'
, @mailserver_name = 'smtp.gmail.com'
, @port = 25
, @username = 'chandresh.cmk@gmail.com'
, @password = 'xxxxxxx'
Go
错误:由于以下原因,邮件无法发送给收件人 邮件服务器故障。 (使用帐户6发送邮件 (2017-02-02T14:24:46)。异常消息:无法连接到邮件 服务器。 (连接尝试失败,因为连接方做了 一段时间后没有正确回应,或建立连接 失败,因为已连接的主机无法响应74.125.68.109:25)。 )
然后我尝试更改端口号587并得到以下错误。
由于邮件的原因,邮件无法发送给收件人 服务器故障。 (使用账户5发送邮件(2017-02-02T14:28:22)。 异常消息:无法将邮件发送到邮件服务器。 (SMTP服务器 需要安全连接或客户端未经过身份验证。该 服务器响应为:5.7.0必须首先发出STARTTLS命令。 n8sm30283000pgc.16 - gsmtp)。 )
然后我再次尝试更改端口号465并得到以下错误
由于邮件的原因,邮件无法发送给收件人 服务器故障。 (使用账户4发送邮件(2017-02-02T14:28:19)。 异常消息:无法将邮件发送到邮件服务器。 (发送失败 邮件。)。 )
我有什么遗漏的吗?
注意:我在本地计算机上尝试此操作,我可以使用C#
Port 25
代码发送电子邮件
谢谢。
答案 0 :(得分:2)
如问答Sending email in .NET through Gmail,MSDN: How to configure SQL Server Database Mail to send email using your Windows Live Mail Account or your GMail Account等所述,您需要使用端口587 和安全连接,因为您收到的错误表明:
5.7.0必须首先发出STARTTLS命令
因此,请按MSDN: sysmail_add_account_sp (Transact-SQL)中的说明将@enable_ssl=1
参数传递给sysmail_add_account_sp
。