sysmail_configure_sp (Transact-SQL)

Applies to: SQL Server

Changes configuration settings for Database Mail. The configuration settings specified with sysmail_configure_sp apply to the entire SQL Server instance.

Transact-SQL syntax conventions


sysmail_configure_sp [ [ @parameter_name = ] 'parameter_name' ]
    [ , [ @parameter_value = ] 'parameter_value' ]
    [ , [ @description = ] 'description' ]
[ ; ]


[ @parameter_name = ] 'parameter_name'

The name of the parameter to change.

[ @parameter_value = ] 'parameter_value'

The new value of the parameter.

[ @description = ] 'description'

A description of the parameter.

Return code values

0 (success) or 1 (failure).

Result set



Database Mail uses the following parameters:

Parameter name Description Default value
AccountRetryAttempts The number of times that the external mail process attempts to send the e-mail message using each account in the specified profile. 1
AccountRetryDelay The amount of time, in seconds, for the external mail process to wait between attempts to send a message. 5000
DatabaseMailExeMinimumLifeTime The minimum amount of time, in seconds, that the external mail process remains active. When Database Mail is sending many messages, increase this value to keep Database Mail active and avoid the overhead of frequent starts and stops. 600
DefaultAttachmentEncoding The default encoding for e-mail attachments. MIME
MaxFileSize The maximum size of an attachment, in bytes. 1000000
ProhibitedExtensions A comma-separated list of extensions that can't be sent as an attachment to an e-mail message. exe,dll,vbs,js
LoggingLevel Specify which messages are recorded in the Database Mail log. One of the following numeric values:

1 - This is normal mode. Logs only errors.

2 - This is extended mode. Logs errors, warnings, and informational messages.

3 - This is verbose mode. Logs errors, warnings, informational messages, success messages, and additional internal messages. Use this mode for troubleshooting.

The stored procedure sysmail_configure_sp is in the msdb database and is owned by the dbo schema. The procedure must be executed with a three-part name if the current database isn't msdb.


This stored procedure is owned by the db_owner role. You can grant EXECUTE permissions for any user, but these permissions may be overridden during a SQL Server upgrade.


A. Set Database Mail to retry each account 10 times

The following example shows setting Database Mail to retry each account 10 times before considering the account to be unreachable.

EXEC msdb.dbo.sysmail_configure_sp
    'AccountRetryAttempts', '10';

B. Set the maximum attachment size to 2 megabytes

The following example shows setting the maximum attachment size to 2 megabytes.

EXEC msdb.dbo.sysmail_configure_sp
    'MaxFileSize', '2097152';