• Here is what I use to monitor Database Mail. Run it in your environment and see if it turns up any useful information.

    DECLARE @days_ago_start INT

    ---------------------------------------------------------------------------------------

    SET @days_ago_start = 7

    ---------------------------------------------------------------------------------------

    SELECT fi.send_request_date AS send_date,

    fi.send_request_user AS send_user,

    fi.recipients,

    fi.copy_recipients,

    fi.blind_copy_recipients,

    fi.[subject],

    fi.body,

    fi.sent_status,

    p.name AS profile_name,

    fi.body_format,

    fi.importance,

    fi.sensitivity,

    fi.file_attachments,

    fi.attachment_encoding,

    fi.query,

    fi.execute_query_database,

    fi.attach_query_result_as_file,

    fi.query_result_header,

    fi.query_result_width,

    fi.query_result_separator,

    fi.exclude_query_output,

    fi.append_query_error,

    fi.sent_account_id,

    fi.sent_date,

    fi.last_mod_date,

    fi.last_mod_user,

    fi.mailitem_id

    FROM msdb.dbo.sysmail_faileditems fi

    JOIN msdb.dbo.sysmail_profile p ON fi.profile_id = p.profile_id

    WHERE fi.send_request_date > DATEADD(day, -@days_ago_start, GETDATE())

    ORDER BY fi.send_request_date ;

    --SELECT * FROM msdb.dbo.sysmail_log WHERE mailitem_id IN (9265, 9303)

    -- failed message log

    SELECT l.[description] AS log_description,

    mi.recipients,

    mi.copy_recipients,

    mi.blind_copy_recipients,

    mi.[subject],

    mi.body,

    mi.body_format,

    mi.importance,

    mi.sensitivity,

    mi.append_query_error,

    mi.send_request_date,

    mi.send_request_user,

    mi.sent_account_id,

    CASE mi.sent_status

    WHEN 0 THEN 'unsent'

    WHEN 1 THEN 'sent'

    WHEN 3 THEN 'retrying'

    ELSE 'failed'

    END AS sent_status,

    mi.sent_date,

    mi.last_mod_date,

    mi.last_mod_user,

    N'EXEC msdb.dbo.sp_send_dbmail @profile_name=''' + p.name + N''',@recipients=''' + mi.recipients + N''',@subject=''' + mi.[subject]

    + N''',@body_format=''' + mi.body_format + N''',@body=''' + mi.body + N'''' AS resend_exec

    FROM msdb.dbo.sysmail_mailitems mi

    JOIN msdb.dbo.sysmail_log l ON mi.mailitem_id = l.mailitem_id

    JOIN msdb.dbo.sysmail_profile p ON mi.profile_id = p.profile_id

    WHERE mi.send_request_date > DATEADD(day, -@days_ago_start, GETDATE())

    AND mi.sent_status NOT IN (1, 3)

    ORDER BY mi.send_request_date DESC ;

    --SELECT TOP 10

    -- *

    --FROM msdb.dbo.sysmail_log

    --WHERE log_date > DATEADD(day, -1, GETDATE())

    --ORDER BY log_date DESC

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato