Skip to main content

Email Alerts are not received...

In one of application, Email alerts are sent using SQL sp_send_dbmail stored procedure. Email alerts were working properly, but suddenly noticed email alerts are not received.

To troubleshoot the issue, first I checked the msdb.dbo.sysmail_event_log table using the below query.

SELECT log_id, event_type, log_date, description, process_id, mailitem_id, account_id, last_mod_date, last_mod_user
log_date DESC

If there is any error, you should see records with the event_type value as error.
In my case there are records with event_type value as error, and the description value for those records is same as below

The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 3 (2018-02-01T10:41:27). Exception Message: Cannot send mails to mail server. (The SMTP server requires a secure connection or the client was not authenticated. The server response was: Authentication required).  )

As per the error descript…

#Error while showing DateTime field with Blank or Space in a SSRS Report...

In a SSRS Report, DataSet returns a column which contains datetime values in string data type.
Due to that it contains values with spaces or blank. Let assume the particular field name is "DateValueField".
To show that in the SSRS Report, initially the below expression is used.

=IIf(IsNothing(Fields!DateValueField.Value) OR LTRIM(RTRIM(Fields!DateValueField.Value))="", "", FormatDateTime(Fields!DateValueField.Value, DateFormat.ShortDate))

Eventhough the above expression seems to be correct, when we ran the report, it gives the value as #Error for the rows which contains Blank or Space for the DateValueField.
But it gives the correct value for the rows which contains a valid datetime value.

Actually the issue exists with SSRS IIF expression and to overcome that, we have to modify the IIF expression as below.

=IIf(IsNothing(Fields!DateValueField.Value) OR LTRIM(RTRIM(Fields!DateValueField.Value))="", "", FormatDateTime(IIf(IsNothing(Fields!DateValueField.Value) OR LTRIM(RTRIM(Fields!DateValueField.Value))="", Nothing,Fields!DateValueField.Value), DateFormat.ShortDate))

There may be other situations that the same issue may occur while using IIF expressions.