.net 我无法使用sql server smtp发送电子邮件

.net 我无法使用sql server smtp发送电子邮件,.net,sql-server,stored-procedures,sql-server-2012,email,.net,Sql Server,Stored Procedures,Sql Server 2012,Email,我正在尝试使用sql server 2012发送电子邮件。我试着学习了一些教程,但没有成功 这是我得到的一个例外 对对象“sp_send_dbmail”、数据库“msdb”、架构“dbo”的执行权限被拒绝。[SQLSTATE 42000] 我的代码是 EXEC msdb.dbo.sp_send_dbmail @profile_name='Test2', @recipients='test@Example.com', @subj

我正在尝试使用sql server 2012发送电子邮件。我试着学习了一些教程,但没有成功

这是我得到的一个例外

对对象“sp_send_dbmail”、数据库“msdb”、架构“dbo”的执行权限被拒绝。[SQLSTATE 42000]

我的代码是

 EXEC msdb.dbo.sp_send_dbmail @profile_name='Test2', @recipients='test@Example.com',    
                              @subject='Test message', @body='This is the body'

我的问题是我正在使用另一个名为Akkord的数据库模式。但我只能通过
msdb
数据库访问
sp\u send\u dbmail
。我应该授予使用
msdb
的电子邮件过程的权限,或者我应该做其他事情。

我认为您也需要在msdb数据库中注册您的用户。
这可能会对您有所帮助。

该错误意味着试图发送数据库邮件的用户没有执行sp_send_dbmail所需的权限。要使用数据库邮件发送邮件,用户必须是msdb数据库中“DatabaseMailUserRole”角色的成员。下面介绍如何将用户添加到此角色

USE msdb
EXEC msdb.dbo.sp_addrolemember @rolename = 'DatabaseMailUserRole',
@membername = 'YourDomain\YourDomainUser';
GO