Отправлять почту SQL Server с динамическим smtp

Вот и все.

Я настроил профиль, почту, SMTP-сервер, имя пользователя и пароль. Я использую sp_send_dbmail, но иногда я собираюсь изменить smtp, имя пользователя, пароль и порт, у меня есть это в таблице, и мне просто нужно передать параметры "sp_send_dbmail" с этими полями, или что-то, что работает как тот.

SQL Отправка почты с динамическими учетными данными электронной почты.

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

2 ответа

Решение

Если кому-то это нужно, сначала я удаляю настройки профиля (или аккаунт в данном случае), а затем создаю его снова, используя это...

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

Вот как мне удается "обновить" учетные данные учетных записей перед отправкой почты

Вам нужно будет сохранить все имена профилей, которые вы настроили в своей таблице.

declare @profilename varchar(50);

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

EXEC msdb.dbo.sp_send_dbmail
@recipients = 'Test@xyz.com'
, @subject = 'Subject'
, @body = 'email_test'
, @profile_name = @profilename
, @body_format = 'HTML' ;
Другие вопросы по тегам