Author | Chrissy LeMaire (@cl), netnerds.net |
Availability | Windows, Linux, macOS |
Want to see the source code for this command? Check out Get-DbaDbMailServer on GitHub.
Want to see the Bill Of Health for this command? Check out Get-DbaDbMailServer.
Retrieves SMTP server configurations from SQL Server Database Mail accounts
Retrieves detailed SMTP server configuration information from all Database Mail accounts on SQL Server instances. This function pulls the actual mail server settings including port numbers, SSL configuration, authentication methods, and connection details. Useful for auditing email infrastructure, troubleshooting delivery issues, and documenting Database Mail configurations across your environment.
Get-DbaDbMailServer
[[-SqlInstance] <DbaInstanceParameter[]>]
[[-SqlCredential] <PSCredential>]
[[-Server] <String[]>]
[[-Account] <String[]>]
[[-InputObject] <SqlMail[]>]
[-EnableException]
[<CommonParameters>]
PS C:\> Get-DbaDbMailServer -SqlInstance sql01\sharepoint
Returns all DBMail servers on sql01\sharepoint
PS C:\> Get-DbaDbMailServer -SqlInstance sql01\sharepoint -Server DbaTeam
Returns The DBA Team DBMail server from sql01\sharepoint
PS C:\> Get-DbaDbMailServer -SqlInstance sql01\sharepoint | Select-Object *
Returns the DBMail servers on sql01\sharepoint then return a bunch more columns
PS C:\> $servers = "sql2014","sql2016", "sqlcluster\sharepoint"
PS C:\> $servers | Get-DbaDbMail | Get-DbaDbMailServer
Returns the DBMail servers for "sql2014","sql2016" and "sqlcluster\sharepoint"
The target SQL Server instance or instances.
Alias | |
Required | False |
Pipeline | false |
Default Value |
Login to the target instance using alternative credentials. Accepts PowerShell credentials (Get-Credential).
Windows Authentication, SQL Server Authentication, Active Directory - Password, and Active Directory - Integrated are all supported.
For MFA support, please use Connect-DbaInstance.
Alias | |
Required | False |
Pipeline | false |
Default Value |
Specifies one or more SMTP server names to retrieve from Database Mail accounts. Use this when you need to check configuration for specific mail servers rather than all configured servers.
Accepts exact server names like 'smtp.company.com' or 'mail-relay-01'.
Alias | Name |
Required | False |
Pipeline | false |
Default Value |
Restricts results to mail servers associated with specific Database Mail account names. Use this when troubleshooting email issues for particular applications or services.
Helpful for isolating server configurations when you have multiple Database Mail accounts with different SMTP settings.
Alias | |
Required | False |
Pipeline | false |
Default Value |
Accepts Database Mail objects from Get-DbaDbMail via pipeline. Allows you to chain Database Mail operations together.
Use this when you need to process mail server configurations from a filtered set of SQL instances or specific Database Mail setups.
Alias | |
Required | False |
Pipeline | true (ByValue) |
Default Value |
By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.
This avoids overwhelming you with "sea of red" exceptions, but is inconvenient because it basically disables advanced scripting.
Using this switch turns this "nice by default" feature off and enables you to catch exceptions with your own try/catch.
Alias | |
Required | False |
Pipeline | false |
Default Value | False |