繁体   English   中英

从SQL Server 2005/2008发送电子邮件

[英]Send email from SQL Server 2005 / 2008

我必须从SQL Server 2005或2008发送电子邮件。过去,我通过其他存储过程( sp_send_html_mail )和复杂的配置/激活来做到这一点。 是否有通过SMTP(不是MAPI / CAPI / Outlook配置文件)发送电子邮件的标准内置存储过程? 我在此主题上找到了sp_send_dbmail ,但不确定是否是唯一一个,并且可能sp_send_dbmail哪些安全问题(垃圾邮件除外)?

是的, sp_send_dbmail是用于SQL Sever 2005和2008的一种。

您将需要确保已在服务器上对其进行了配置。 自从我进行这样的配置已经有一段时间了,但是如果内存能够正确为我服务,则默认情况下它处于关闭状态。 查看该过程的MS docs 配置数据库邮件 设置SMTP服务器也是可行的。 那里有很多选择,因此请对其进行彻底的审查。

如果您担心不必要地使用该sp,则可以使用角色和/或执行权限来限制对该sp的访问。 从有关对dbmail进行故障排除的MS文档中:

若要发送数据库邮件,用户必须是msdb数据库中的用户,并且是msdb数据库中DatabaseMailUserRole数据库角色的成员。 要将msdb用户或组添加到该角色,请使用SQL Server Management Studio或对需要发送数据库邮件的用户或角色执行以下语句。

EXEC msdb.dbo.sp_addrolemember @rolename = 'DatabaseMailUserRole'
    ,@membername = '<user or role name>';
GO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM