Ejemplo n.º 1
0
        static void sendEmail()
        {
            using (EmailDeliveryClient edc = new EmailDeliveryClient())
            {
                EmailDeliveryRequest req = new EmailDeliveryRequest();

                MailAddress from = new MailAddress("*****@*****.**");
                MailAddress to   = new MailAddress("*****@*****.**");
                req.mailMessage = new MailMessage(from, to);

                edc.OnResponseReceived += (object sender, SimpleMessageResponse <EmailDeliveryRequest> e) =>
                {
                    Console.WriteLine("Received: " + e.MessageHeader.NmsCorrelationId);
                };

                EmailDeliveryRequest[] x = new EmailDeliveryRequest[1] {
                    req
                };

                edc.SubmitRequest(x, false);

                while (!edc.WaitForComplete(250))
                {
                }

                Console.WriteLine("xxxx");
            }
        }
Ejemplo n.º 2
0
        public static ServiceResponse DeliverEmail(EmailTemplateCode emailTemplateCode, string recipients, object templateData, List <int> attachmentList)
        {
            var edr = new EmailDeliveryRequest
            {
                Sender            = Config.Emailing.FromAddress,
                Recipients        = recipients,
                EmailTemplateCode = emailTemplateCode.ToString(),
                TemplateData      = templateData,
                AttachmentList    = attachmentList
            };

            return(DeliverEmail(edr));
        }
Ejemplo n.º 3
0
        public static ServiceResponse DeliverSystemEmail(string recipients, string subject, string body, bool important)
        {
            var edr = new EmailDeliveryRequest
            {
                Sender     = Config.Emailing.FromAddress,
                Recipients = recipients,
                Subject    = subject,
                Body       = body,
                Important  = important
            };

            return(DeliverEmail(edr));
        }
Ejemplo n.º 4
0
        private static ServiceResponse ValidateEmailDeliveryRequest(EmailDeliveryRequest request)
        {
            var sr = new ServiceResponse();

            if (string.IsNullOrEmpty(request.Sender))
            {
                sr.AddError("The [From] field cannot be empty.");
            }

            if (string.IsNullOrEmpty(request.Recipients))
            {
                sr.AddError("The [To] field cannot be empty.");
            }

            return(sr);
        }
Ejemplo n.º 5
0
        public static ServiceResponse DeliverEmail(EmailDeliveryRequest edr)
        {
            ServiceResponse sr = new ServiceResponse();

            if (!EmailingEnabled)
            {
                return(sr);
            }

            sr = ValidateEmailDeliveryRequest(edr);
            if (!sr.Status)
            {
                return(sr);
            }

            Email email = new Email();

            // Body
            if (edr.EmailTemplateCode != null)
            {
                ParsedEmailTemplate pet = ParseEmailTemplate(edr.EmailTemplateCode, edr.TemplateData);
                email.Body    = pet.ParsedBody;
                email.Subject = pet.ParsedSubject;
            }
            else
            {
                email.Body    = edr.Body;
                email.Subject = edr.Subject;
            }

            // Sender
            if (String.IsNullOrEmpty(edr.Sender))
            {
                email.Sender = Config.Emailing.FromAddress;
            }
            else
            {
                email.Sender = edr.Sender;
            }

            // Recipients
            email.Recipients = edr.Recipients;

            // Queue
            email.StatusCode = EmailStatusCode.QUEUED.ToString();

            // Attachments
            if (edr.AttachmentList != null)
            {
                foreach (int dataFileId in edr.AttachmentList)
                {
                    var ea = new EmailAttach
                    {
                        Email      = email,
                        DataFileId = dataFileId
                    };

                    email.EmailAttachs.Add(ea);
                }
            }

            // Save email
            DB db = new DB();

            db.Email.Add(email);
            DB.SaveChanges(Identity.AuditLogin);

            // Send right away
            SendQueuedEmail(email, edr.Important);

            // Return data about email
            sr.ReturnValue = email.EmailId;

            return(sr);
        }