sql-server – SQL Server:发送电子邮件

前端之家收集整理的这篇文章主要介绍了sql-server – SQL Server:发送电子邮件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用sql Server发送电子邮件,并从互联网上找到两种可能的方式:

>使用AOSMTP.Mail

Create PROCEDURE [dbo].[RC_SendEmail]  @ServerAddr varchar(80),@FromAddr varchar(80),@Recipient varchar(80),@Subject varchar(132),@BodyText varchar(2000)

AS
  DECLARE @hr int
  DECLARE @oSmtp int
  DECLARE @nRet int

  EXEC @hr = sp_OACreate 'AOSMTP.Mail',@oSmtp OUT
  EXEC @hr = sp_OASetProperty @oSmtp,'RegisterKey','replace this text by your key'
  EXEC @hr = sp_OASetProperty @oSmtp,'ServerAddr',@ServerAddr
  EXEC @hr = sp_OASetProperty @oSmtp,'FromAddr',@FromAddr
  EXEC @hr = sp_OAMethod @oSmtp,'AddRecipient',NULL,@Recipient,0 
  EXEC @hr = sp_OASetProperty @oSmtp,'Subject',@Subject 
  EXEC @hr = sp_OASetProperty @oSmtp,'BodyText',@BodyText 

  EXEC @hr = sp_OAMethod @oSmtp,'SendMail',@nRet OUT 
  EXEC @hr = sp_OADestroy @oSmtp

但是,此方法需要服务器地址.

我应该输入的地址是什么?电子邮件服务器?还是数据库服务器?
我只看到它在互联网上使用’localhost’.但它对我不起作用.

>使用CDONTS.NewMail

CREATE PROCEDURE [dbo].[SendEmail] 
    @From varchar(100),@To varchar(100),@Subject varchar(100),@Body varchar(4000),@CC varchar(100) = null,@BCC varchar(100) = null
AS
    Declare @MailID int
    Declare @hr int
    Declare @result int

    EXEC @hr = sp_OACreate 'CDONTS.NewMail',@MailID OUT
    EXEC @hr = sp_OASetProperty @MailID,'From',@From
    EXEC @hr = sp_OASetProperty @MailID,'Body',@Body
    EXEC @hr = sp_OASetProperty @MailID,'BCC',@BCC
    EXEC @hr = sp_OASetProperty @MailID,'CC',@CC
    EXEC @hr = sp_OASetProperty @MailID,@Subject
    EXEC @hr = sp_OASetProperty @MailID,'To',@To
    EXEC @hr = sp_OAMethod @MailID,'Send',@result OUT
    EXEC @hr = sp_OADestroy @MailID
    select @result

这个不需要服务器地址,但它也不起作用.

任何人都可以详细解释这些以及我应该做些什么吗?

非常感谢你!!!

解决方法

Forget that,use the send email capabilities built-in on SQL Server.它没有变得容易.

通过向导进行配置后,您可以在procs中执行此操作,如链接教程中所示:

USE msdb
GO
EXEC sp_send_dbmail @profile_name='PinalProfile',@recipients='test@Example.com',@subject='Test message',@body='This is the body of the test message.'
原文链接:https://www.f2er.com/mssql/83812.html

猜你在找的MsSQL相关文章