我正在SQL Server 2008
设置数据库邮件,以便将邮件发送到我的Gmail帐户。以下是我创建的DBMail
个人资料的详细信息:
email id : xyz@gmail.com
Display Name : xyz
Reply email :
Server name : smtp.gmail.com
port no: 587
Check : This server requires a secure connection
Check : Basic Authentication
username : xyz@gmail.com ( should have gmail.com)
password : <mypassword>
confirm password : <mypassword>
然后我点击了下一个,并将其设为默认公开个人资料。
然后,我使用以下TSQL
代码配置并发送DBMail
:
EXEC sp_CONFIGURE 'show advanced', 1
GO
RECONFIGURE
GO
EXEC sp_CONFIGURE 'Database Mail XPs', 1
GO
RECONFIGURE
GO
use msdb
go
EXEC sp_send_dbmail
@profile_name='XYZ',
@recipients='XYZr@gmail.com',
@subject='Test message',
@body='Message Sent Successfully'
The output appears "Message Queued"
我的信息仍然失败了。我觉得我已经正确设置了服务器。任何意见都将不胜感激。
SELECT * FROM sysmail_log
正文栏显示
“由于邮件服务器故障,邮件无法发送给收件人。(使用帐户1发送邮件(2012-05-16T17:05:00)。例外消息:无法连接到邮件服务器。(否)这样的主人是已知的。)“
答案 0 :(得分:4)
一些建议的问题排查步骤:
尝试使用Outlook等客户端邮件程序,使用与SQL Server相同的计算机通过同一SMTP服务器发送邮件。您可能会收到更有意义的错误消息。
端口可能被阻止。尝试使用端口587将邮件发送到任何其他SMTP服务器。
尝试更改为端口465。
请尝试取消选中个人资料中的“需要安全连接”位。
尝试使用网络中的SMTP服务器转发到GMail。这可能更容易设置和运行。如果您没有可用于处理中继的本地SMTP服务器,则需要安装IIS和SMTP组件。
查看http://mail.google.com/support/bin/answer.py?hl=en&answer=13287
答案 1 :(得分:2)
如果您使用的是GMAIL,请注意以下一步:
在数据库邮件中配置电子邮件后,请登录您的Gmail帐户并转到
启用不太安全的应用以使用您的帐户,这就是数据库邮件可以访问您的Gmail帐户的方式。
尝试使用以下代码发送测试邮件:
USE msdb
GO
EXEC sp_send_dbmail @profile_name='XXX', -- Your profile name
@recipients='abc@yahoo.com', -- Recipient's email address
@subject='Test message',
@body='This is the body of the test message.'
最后,尝试运行以下查询以查看是否已发送
SELECT * FROM sysmail_log
答案 2 :(得分:0)
错误“未知此类主机”表示DNS问题,无法解决您提供给sysmail_add_account_sp的@mailserver_name。
我收到此错误,是因为我最初使用带有意外的前导空格的字符串使用@mailserver_name参数调用sysmail_add_account_sp。如下面第2项所述,重置服务器名称时没有前导空格,这解决了我的问题。
尝试这些事情: