Example #1
0
        public void Send(Envelope email)
        {
            if (email == null)
            {
                throw new ArgumentNullException(nameof(email));
            }

            Ensure.NotNullOrWhiteSpace(email.From.Name, nameof(email.From.Name));
            Ensure.NotNullOrWhiteSpace(email.From.Address, nameof(email.From.Address));
            Ensure.NotNullOrWhiteSpace(email.To[0].Name, nameof(email.To));
            Ensure.NotNullOrWhiteSpace(email.To[0].Address, nameof(email.To));

            var e = new NewOutgoingEmail(GuidManager.NewGuid(), email, DateTime.Now);

            this.connection.AppendToStreamAsync(this.queueStreamName, ExpectedVersion.Any, this.serializer.Serialize(e.EmailId, e.EmailId, e)).Wait();
        }