Спасибо вам большое! Оно работает!

у использовать 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, @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', @Subject
    EXEC @hr = sp_OASetProperty @MailID, 'To', @To
    EXEC @hr = sp_OAMethod @MailID, 'Send', @result OUT
    EXEC @hr = sp_OADestroy @MailID
    select @result

Этот адрес не требует адреса сервера, но он также не работает.

Может кто-нибудь объяснить более подробно об этом и что я должен делать?

Большое спасибо!!!

Ответы на вопрос(1)

Ваш ответ на вопрос