2011-09-01 174 views
2

我想用SQL Server發送電子郵件,發現從互聯網兩種可能的方式:SQL服務器:發送電子郵件

  1. 使用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, @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 
    
  2. 然而,這

方法需要一個服務器地址。

我應該輸入什麼地址?電子郵件服務器?或數據庫服務器? 我只看到它在互聯網上使用'localhost'。但它不適合我。

  1. 使用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', @Subject 
        EXEC @hr = sp_OASetProperty @MailID, 'To', @To 
        EXEC @hr = sp_OAMethod @MailID, 'Send', @result OUT 
        EXEC @hr = sp_OADestroy @MailID 
        select @result 
    

這一個不需要服務器地址,但它並沒有正常工作。

任何人都可以更詳細地解釋這些和我應該做什麼?

非常感謝!

回答

相關問題