2013-04-26 176 views
0

我有一个SQL Server过程可以插入电子邮件并将其发送给收件人。该过程在SSMS中按预期工作。当我使用PHP中的mssql封装程序调用该过程时,将执行插入操作但不执行数据库邮件功能。我从原始程序中删除了插入程序,并将程序中的数据库邮件功能本身保留,并且未发送电子邮件。无法通过PHP发送SQL Server数据库邮件

如果您使用'mssql_query'函数,数据库邮件被禁用是否有原因?是否有另一种方式让我调用我的过程,以便数据库邮件按预期运行?

+0

当您测试此功能时,您是否使用相同的登录名?无论用户php登录什么,因为可能与您登录ssms时的权限不同。 – 2013-04-26 16:49:50

+0

您正在调用一个存储过程,该存储过程是黑色方框到您的服务器语言。意思是说,如果事实上SSMS能够执行你的存储过程并发送具有相同确切参数的邮件,那么php应该能够,因为你说它正在做一些插入行的操作。您可以通过它的工具日志分析器查看交换服务器(或类似的)上发生了什么,或者如果您拥有sql 2005/08,那么它有一个邮件队列表供您查看。看看http://msdn.microsoft.com/en-us/library/ms187540%28v=sql.105%29.aspx – RandomUs1r 2013-04-26 16:54:42

+0

@MarcB这确实是一个用户访问问题。随意把它作​​为答案! – 2013-04-26 19:08:53

回答

1

当您测试此功能时,您是否使用相同的登录名?无论用户使用哪种php登录,都可能与您登录SSMS的权限不同。