No SQL Server, você pode usar o
sysmail_help_account_sp
procedimento armazenado no msdb
database para recuperar uma lista de todas as contas do Database Mail. Você também pode retornar informações da conta com base no nome ou ID da conta.
Exemplo
Aqui está um exemplo para demonstrar.
EXEC msdb.dbo.sysmail_help_account_sp;
Resultado (usando saída vertical):
account_id | 1 name | DB Admin description | Mail account for admin emails. email_address | [email protected] display_name | DB Automated Mailer replyto_address | [email protected] servertype | SMTP servername | smtp.example.com port | 25 username | NULL use_default_credentials | 0 enable_ssl | 0
Listei os resultados usando saída vertical para que você não precise rolar para os lados para ver todas as colunas.
No meu caso, há apenas uma conta do Database Mail.
Observe que o
sysmail_help_account_sp
procedimento armazenado está no msdb
banco de dados, e é de propriedade do dbo
esquema. Portanto, você precisará usar a nomenclatura de três partes (como no meu exemplo) se msdb
não é o banco de dados atual. Devolver apenas uma conta
Embora eu tenha apenas uma conta de e-mail de banco de dados em meu sistema, aqui está um exemplo de como retornar uma única conta.
Conforme mencionado, você pode usar o nome da conta ou seu ID. Aqui está um exemplo de como devolvê-lo pelo ID da conta:
EXEC msdb.dbo.sysmail_help_account_sp
@account_id = 1;
Você precisa fornecer o ID da conta como int .
E aqui está um exemplo de como devolvê-lo pelo nome:
EXEC msdb.dbo.sysmail_help_account_sp
@account_name = 'DB Admin';
O nome da conta é sysname .
Conta inválida?
Fornecer um ID de conta que não existe retorna o seguinte erro:
Msg 14606, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_account_sp, Line 33 account id is not valid
Fornecer um nome de conta que não existe retorna o seguinte erro:
Msg 14607, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_account_sp, Line 42 account name is not valid