示例#1
0
        public void Send(MailMessage mailMessage)
        {
            _validator.Validate(mailMessage);

            ISmtpClient client = null;

            try
            {
                client = _factory.Create();
                SetUpClient(client);

                client.Send(mailMessage);
            }
            catch (ArgumentException e)
            {
                throw new SmptClientException("Cannot setup client.", e);
            }
            catch (InvalidOperationException e)
            {
                throw new SmptClientException("Client cannot do operation.", e);
            }
            catch (SmtpException e)
            {
                throw new SmptClientException("Client cannot send mail message.", e);
            }
            finally
            {
                client?.Dispose();
            }
        }
示例#2
0
 /// <summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</summary>
 public void Dispose()
 {
     if (_client != null)
     {
         _client.Dispose();
     }
 }
示例#3
0
        protected virtual void Dispose(bool disposing)
        {
            if (_disposed || !disposing)
            {
                return;
            }

            _smtpClient.Dispose();
            _disposed = true;
        }
 public void Dispose()
 {
     smtpClient.Dispose();
 }