/// <inheritdoc/> public override bool SendMessage(Message message) { if (message == null) { throw new ArgumentNullException(nameof(message)); } if (string.IsNullOrEmpty(Client.Address)) { Logger.LogError("Error sending email to client.", $"The client '{Client.Name ?? Client.ID}' not specified address to send messages.", message); return(false); } var mailMessage = new ForMailMessage() { MsgTypeID = message.MessageType.ID, Body = message.Body, Attachment = message.BinaryAttachment, ClientID = message.Sender, Group = message.Group, Tags = ServiceHelper.GetTagDictionary(message), }; return(ServiceHelper.TryWithExceptionLogging( () => mailMessage.Send(Client.Address, ConfigurationManager.AppSettings["MailLogin"], ConfigurationManager.AppSettings["MailServer"]), null, $"Error sending a message to the client '{Client.Name ?? Client.ID}' by e-mail to the address '{Client.Address}'.", Client, message, Logger)); }
/// <summary> /// Отправить сообщение. /// </summary> /// <param name="message">Сообщение, которое нужно отправить.</param> /// <returns>Успешно ли было отправлено сообщение.</returns> public bool SendMessage(Message message) { if (string.IsNullOrEmpty(Client.Address)) { _logger.LogError( "Ошибка отправки сообщения клиенту по электронной почте", $"У клиента '{Client.Name ?? Client.ID}' не указан адрес для отправки сообщений.", message); return(false); } var mailMessage = new ForMailMessage() { Attachment = message.BinaryAttachment, Body = message.Body, ClientID = message.Sender, Group = message.Group, MsgTypeID = message.MessageType.ID, Tags = ServiceHelper.GetTagDictionary(message) }; return(ServiceHelper.TryWithExceptionLogging( () => mailMessage.Send(Client.Address, ConfigurationManager.AppSettings["MailLogin"], ConfigurationManager.AppSettings["MailServer"]), null, "Ошибка отправки сообщения клиенту по электронной почте", Client, message, _logger)); }