2016-02-17 46 views
0

基本上就是這樣。用動態smtp發送郵件SQL Server

我已經配置了配置文件,郵件,smtp服務器,用戶名和密碼。 我使用的是sp_send_dbmail但偶爾我要更改smtp,用戶名,密碼和端口,我在表中有這個,我只需要傳遞參數到「sp_send_dbmail」與這些字段,或者像那樣工作的東西。

SQL使用動態電子郵件憑據發送郵件。

非常感謝

回答

0

如果有人需要它,首先,我刪除了配置文件設置(或帳戶在這種情況下),然後我會再創建它,使用此...

EXECUTE msdb.dbo.sysmail_delete_account_sp 
EXECUTE msdb.dbo.sysmail_delete_profile_sp 

EXECUTE msdb.dbo.sysmail_add_account_sp 
EXECUTE msdb.dbo.sysmail_add_profile_sp 
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp 

這就是我如何管理在發送郵件前更新帳戶憑證

2

你必須保存您在表中配置的所有配置文件名稱。

declare @profilename varchar(50); 

set @profilename = (select profilename from your_table where smpt_server = 'smtp_server_value'); 

EXEC msdb.dbo.sp_send_dbmail 
@recipients = '[email protected]' 
, @subject = 'Subject' 
, @body = 'email_test' 
, @profile_name = @profilename 
, @body_format = 'HTML' ; 
+0

由於我可以在配置文件之間進行選擇,但問題在於憑據,電子郵件用戶名,密碼和smtpserver –

+1

只要您使用正確的憑據在DBMail中設置了配置文件,所有你需要的是配置文件名稱。 –

+0

憑證將每週更改,新憑證將在表中 –