sysmail_sentitems (Transact-SQL)


Updated: June 10, 2016

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Contains one row for each message sent by Database Mail. Use sysmail_sentitems when you want to see which messages were successfully sent.

To see all messages processed by Database Mail, use sysmail_allitems (Transact-SQL). To see only messages with the failed status, use sysmail_faileditems (Transact-SQL). To see only unsent or retrying messages, use sysmail_unsentitems (Transact-SQL). To see e-mail attachments, use sysmail_mailattachments (Transact-SQL).

Column nameData typeDescription
mailitem_idintIdentifier of the mail item in the mail queue.
profile_idintThe identifier of the profile used to send the message.
recipientsvarchar(max)The e-mail addresses of the message recipients.
copy_recipientsvarchar(max)The e-mail addresses of those who receive copies of the message.
blind_copy_recipientsvarchar(max)The e-mail addresses of those who receive copies of the message but whose names do not appear in the message header.
subjectnvarchar(510)The subject line of the message.
bodyvarchar(max)The body of the message.
body_formatvarchar(20)The body format of the message. The possible values are TEXT and HTML.
importancevarchar(6)The importance parameter of the message.
sensitivityvarchar(12)The sensitivity parameter of the message.
file_attachmentsvarchar(max)A semicolon-delimited list of file names attached to the e-mail message.
attachment_encodingvarchar(20)The type of mail attachment.
queryvarchar(max)The query executed by the mail program.
execute_query_databasesysnameThe database context within which the mail program executed the query.
attach_query_result_as_filebitWhen the value is 0, the query results were included in the body of the e-mail message, after the contents of the body. When the value is 1, the results were returned as an attachment.
query_result_headerbitWhen the value is 1, query results contained column headers. When the value is 0, query results did not include column headers.
query_result_widthintThe query_result_width parameter of the message.
query_result_separatorchar(1)The character used to separate columns in the query output.
exclude_query_outputbitThe exclude_query_output parameter of the message. For more information, see sp_send_dbmail (Transact-SQL).
append_query_errorbitThe append_query_error parameter of the message. 0 indicates that Database Mail should not send the e-mail message if there is an error in the query.
send_request_datedatetimeThe date and time the message was placed on the mail queue.
send_request_usersysnameThe user who sent the message. This is the user context of the database mail procedure, not the From: field of the message.
sent_account_idintThe identifier of the Database Mail account used to send the message.
sent_statusvarchar(8)The status of the mail. Always sent for this view.
sent_datedatetimeThe date and time that the message was sent.
last_mod_datedatetimeThe date and time of the last modification of the row.
last_mod_usersysnameThe user who last modified the row.

When troubleshooting Database Mail, this view may help you identify the nature of the problem, by showing you the attributes of the messages that were successfully sent. Database Mail marks messages as sent when they are successfully submitted to an SMTP mail server. Normally e-mail is received in a few minutes, but the e-mail can be delayed because of problems with the SMTP server. Database Mail marks the message as sent when it is accepted by the SMTP mail server. E-mail errors that occur on the SMTP mail server, such as an undeliverable recipient e-mail address, are not returned to Database Mail. Those e-mails are recorded as sent, even though they are not delivered. Troubleshoot that type of error on the SMTP server. Also, the SMTP mail server may send an undeliverable message notification to the reply e-mail address for a Database Mail account.

Granted to sysadmin fixed server role and databasemailuserrole database role. When executed by a member of the sysadmin fixed server role, this view shows all sent messages. All other users only see the messages that they sent.

Database Mail Messaging Objects

Community Additions