---
title: "Get-DbaDbMailServer"
description: "Retrieves SMTP server configurations from SQL Server Database Mail accounts"
url: "https://dbatools.io/Get-DbaDbMailServer/"
availability: "Windows, Linux, macOS"
tags: ["Mail", "DbMail", "Email"]
author: "Chrissy LeMaire (@cl), netnerds.net"
source: "https://github.com/dataplat/dbatools/blob/master/public/Get-DbaDbMailServer.ps1"
last_updated: "2024-01-01"
---

# Get-DbaDbMailServer

## Synopsis

Retrieves SMTP server configurations from SQL Server Database Mail accounts

## Description

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.

## Syntax

```powershell
Get-DbaDbMailServer
    [[-SqlInstance] <DbaInstanceParameter[]>]
    [[-SqlCredential] <PSCredential>]
    [[-Server] <String[]>]
    [[-Account] <String[]>]
    [[-InputObject] <SqlMail[]>]
    [-EnableException]
    [<CommonParameters>]

```

## Examples

### Example 1: Returns all DBMail servers on sql01\sharepoint

```powershell
PS C:\> Get-DbaDbMailServer -SqlInstance sql01\sharepoint
```

### Example 2: Returns The DBA Team DBMail server from sql01\sharepoint

```powershell
PS C:\> Get-DbaDbMailServer -SqlInstance sql01\sharepoint -Server DbaTeam
```

### Example 3: Returns the DBMail servers on sql01\sharepoint then return a bunch more columns

```powershell
PS C:\> Get-DbaDbMailServer -SqlInstance sql01\sharepoint | Select-Object *
```

### Example 4: Returns the DBMail servers for &quot;sql2014&quot;,&quot;sql2016&quot; and &quot;sqlcluster\sharepoint&quot;

```powershell
PS C:\> $servers = "sql2014","sql2016", "sqlcluster\sharepoint"
PS C:\> $servers | Get-DbaDbMail | Get-DbaDbMailServer
```

### Optional Parameters

##### -SqlInstance

The target SQL Server instance or instances.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | False |
| Pipeline | false |
| Default Value |  |

##### -SqlCredential

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.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | False |
| Pipeline | false |
| Default Value |  |

##### -Server

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'.

| Property | Value |
| --- | --- |
| Alias | Name |
| Required | False |
| Pipeline | false |
| Default Value |  |

##### -Account

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.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | False |
| Pipeline | false |
| Default Value |  |

##### -InputObject

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.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | False |
| Pipeline | true (ByValue) |
| Default Value |  |

##### -EnableException

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.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | False |
| Pipeline | false |
| Default Value | False |

## Outputs

**Microsoft.SqlServer.Management.Smo.Mail.MailServer**

Returns one or more Database Mail server objects from configured Database Mail accounts. Each server object represents an SMTP server configuration associated with a Database Mail account.

**Default display properties (via Select-DefaultView):**

- ComputerName: The computer name of the SQL Server instance
- InstanceName: The SQL Server instance name
- SqlInstance: The full SQL Server instance name (computer\instance)
- Account: The name of the Database Mail account that uses this server
- Name: The name or hostname of the SMTP server
- Port: The SMTP port number used for connections (typically 25, 465, or 587)
- EnableSsl: Boolean indicating whether SSL/TLS encryption is enabled for this server
- ServerType: The type of mail server (typically "SMTP")
- UserName: The username used to authenticate with the SMTP server, if required
- UseDefaultCredentials: Boolean indicating whether default Windows credentials are used
- NoCredentialChange: Boolean indicating the credential policy for the server
All properties from the SMO MailServer object are accessible via Select-Object * if needed.

---

Part of [dbatools](https://dbatools.io/), a free and open source PowerShell module for SQL Server administration. Full command index: https://dbatools.io/commands/
