Sql server 在SQL Server 2008 R2 Express中发送SMTP邮件
我尝试使用:sp_send_dbmail 但我得到了以下错误: 味精15281,16级,状态1, 程序sp_send_dbmail,第0行Sql server 在SQL Server 2008 R2 Express中发送SMTP邮件,sql-server,Sql Server,我尝试使用:sp_send_dbmail 但我得到了以下错误: 味精15281,16级,状态1, 程序sp_send_dbmail,第0行 SQL Server阻止了对过程的访问 组件的“dbo.sp_send_dbmail” “数据库邮件XPs”,因为 组件作为组件的一部分关闭 此服务器的安全配置 服务器。 系统管理员可以 启用“数据库邮件XPs”的使用 通过使用sp_配置。更多 有关启用“数据库”的信息 邮寄XPs”,见“表面积” SQL Server书籍中的“配置” 在线 我还尝试使用以下
SQL Server阻止了对过程的访问 组件的“dbo.sp_send_dbmail” “数据库邮件XPs”,因为 组件作为组件的一部分关闭 此服务器的安全配置 服务器。
系统管理员可以 启用“数据库邮件XPs”的使用 通过使用sp_配置。更多 有关启用“数据库”的信息 邮寄XPs”,见“表面积” SQL Server书籍中的“配置” 在线 我还尝试使用以下代码在SQL Server 2008 R2 EXPRESS中发送SMTP邮件: 但我得到了以下错误: 味精15281,16级,状态1, 程序sp_OACreate,第1行
SQL Server阻止了对过程的访问 “组件”Ole的“sys.sp_OACreate” “自动化程序”因为 组件作为组件的一部分关闭 此服务器的安全配置 服务器。系统管理员可以 启用“Ole自动化”的使用 通过使用sp_configure执行“过程”。对于 有关启用“Ole”的详细信息 自动化程序”,参见“表面 SQL Server中的“区域配置” 在线图书 我去了“Facets”查看那里的安全选项,但是没有关于“表面积配置”的内容!是否因为我使用的是SQLServer2008R2的Express版本而丢失了它?还是我走错了方向
如果您对在SQL Server 2008中发送邮件有任何更好的代码/建议,请告诉我。谢谢 事实证明,SQL Server 2008 R2 EXPRESS edition不支持任何邮件功能。我知道问题是针对EXPRESS的,但请注意,下面是如何为正确的SQL Server(SQL Server 2008 R2)执行的操作:
- 连接到management studio中的服务器
- 右键单击服务器
- 单击“面”
- 在镶嵌面下拉列表中,选择“表面积配置”
- 双击“DatabaseMailEnabled”行将其设置为“True”
talleyouro@hotmail.com请执行以下脚本:
sp_configure 'show advanced options', 1
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1
GO
RECONFIGURE;
GO
sp_configure 'show advanced options', 1
GO
RECONFIGURE;
由于Tanmaya Thopate的功劳,下面是一些在Windows Server 2008上的SQL Express中工作的东西:
EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = 'MyMail',
@description = 'Mail account for Database Mail',
@email_address = 'sender@domain.com',
@display_name = 'Me',
@username='myaccount@gmail.com',
@password='Password',
@mailserver_name = 'smtp.gmail.com'
邮件将通过您的帐户通过gmail发送myaccount@gmail.com
现在创建一个配置文件:
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'MyMailProfile',
@description = 'Profile needed for database mail'
将配置文件链接到邮件
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'MyMailProfile',
@account_name = 'MyMail',
@sequence_number = 1
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'MyMailProfile',
@principal_name = 'public',
@is_default = 1 ;
确保启用SSL,否则Gmail将投诉
use msdb
UPDATE sysmail_server
SET enable_ssl = 1
并通过以下方式发送邮件:
declare @body1 varchar(100)
set @body1 = 'Server :'+@@servername+ ' Test DB Email SSL '
EXEC msdb.dbo.sp_send_dbmail @recipients='me@mywork.co.za',
@subject = 'Test',
@body = @body1,
@body_format = 'HTML' ;
您可以从以下位置查看日志:
SELECT * FROM msdb.dbo.sysmail_event_log order by log_date
工作很愉快。不错!在使用SQL Express设置DataBaseMailEnabled=trueWorked for me之后,我不需要重新启动Microsoft SQL Server 2008 R2(SP1)-10.50.2500.0(X64)答案应包含有关实际执行的操作、问题所在的更多信息,而不仅仅是“执行此”解决方案。