无法从SQL Server

时间:2017-02-02 09:07:02

标签: c# sql sql-server email

我正在尝试从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代码发送电子邮件

谢谢。

1 个答案:

答案 0 :(得分:2)

如问答Sending email in .NET through GmailMSDN: 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