Vēlamās priekšzināšanas šajā rakstā- kas ir sertifikāti.
Skripts sastāv no divām daļām-pirmajā daļā tiek izveidota procedūra, kas sūta e-pastu (jābūt konfigurētam DB Mail), tiek izveidots sertifikāts un parakstīta procedūra. otrajā daļā msdb datu bāzē tiek izveidots lietotājs no sertifikāta un tam piešķirtas tiesības sūtīt e-pastu.
Manuprāt visai eleganti!
Lietotāja datu bāzē jāizpilda:
Create Procedure dbo.SendMailmsdb sistēmas datu bāzē jāizpilda:
(
@msg nvarchar(max)
)
As
Begin
Set NoCount ON;
EXEC msdb.dbo.sp_send_dbmail
@profile_name='MyProfile',
@recipients='janis@domens.lv',
@subject='subject',
@body= @msg;
End
Go
Create Certificate MyCertificateForSendMail
ENCRYPTION BY PASSWORD = N'DrosaParole'
WITH SUBJECT = N'Epastu sūtīšanai';
Go
ADD SIGNATURE TO dbo.SendMail BY CERTIFICATE MyCertificateForSendMail
WITH PASSWORD = 'DrosaParole'; -- OK
Go
BACKUP CERTIFICATE MyCertificateForSendMail
TO FILE = N'C:\Sertifikati\MyCertificateForSendMail.cer'
Go
-- Piešķiram vajadzīgajam lietotājam tiesīas ŠEIT
Grant Execute On dbo.SendMail To SomeUser
Go
use msdb;
Go
CREATE CERTIFICATE MyCertificateForSendMail
FROM FILE = N'C:\Sertifikati\MyCertificateForSendMail.cer'
Go
Create User CertUser FROM Certificate MyCertificateForSendMail
EXEC sp_addrolemember N'DatabaseMailUserRole', N'CertUser'
Nav komentāru:
Ierakstīt komentāru