public async Task TestEmail()
        {
            var oEmail = new EmailDto.Request();

            oEmail.sSendTo  = "*****@*****.**";
            oEmail.sReplyTo = null;
            oEmail.sSubject = "prueba subject";
            oEmail.sMessage = "hola mundo";
            await this.SendEmail(oEmail);

            Assert.IsTrue(true);
        }
Ejemplo n.º 2
0
        public async Task <Response <string> > SetLogEmail(EnumLogCategory oLogCategory, string sName, string sMessage)
        {
            var oResponse = new Response <string>();

            try
            {
                var oEmail = new EmailDto.Request();
                oEmail.sSendTo  = this._settings.EmailSendTo;
                oEmail.sReplyTo = this._settings.EmailReplyTo;
                oEmail.sSubject = string.Format(this._settings.EmailSubject, sName);
                oEmail.sMessage = sMessage.Replace("\r\n", "<br>");

                _ = this._emailApplication.SendEmail(oEmail);

                oResponse.IsSuccess = true;
            }
            catch (Exception ex)
            {
                oResponse.Message = $"[SetLogEmail-1]: {ex.Message}";
                _ = this.SetLogText(EnumLogCategory.ERROR, "SetLogEmail", ex);
            }
            return(oResponse);
        }
Ejemplo n.º 3
0
        public async Task <Response <EmailDto.Response> > SendEmail(EmailDto.Request oItem)
        {
            try
            {
                var oResponse = new Response <EmailDto.Response>();
                oResponse.IsSuccess = false;

                if (string.IsNullOrEmpty(oItem.sSubject))
                {
                    oResponse.Message = "Se debe ingresar un Titulo.";
                    return(oResponse);
                }

                if (string.IsNullOrEmpty(oItem.sSendTo))
                {
                    oResponse.Message = "Se debe ingresar un Remitente.";
                    return(oResponse);
                }

                if (string.IsNullOrEmpty(oItem.sMessage))
                {
                    oResponse.Message = "Se debe ingresar un Mensaje.";
                    return(oResponse);
                }

                MailAddress oSendFrom = new MailAddress(this._settings.SenderEmail, this._settings.SenderDisplayName);
                MailAddress oSendTo   = new MailAddress(oItem.sSendTo);
                MailMessage oMessage  = new MailMessage(oSendFrom, oSendTo);
                oMessage.Subject         = oItem.sSubject;
                oMessage.SubjectEncoding = Encoding.UTF8;
                oMessage.IsBodyHtml      = true;
                oMessage.Body            = oItem.sMessage;
                oMessage.BodyEncoding    = Encoding.UTF8;

                if (!string.IsNullOrEmpty(oItem.sReplyTo))
                {
                    foreach (string sReplyTo in oItem.sReplyTo.Split(';'))
                    {
                        MailAddress oReplyTo = new MailAddress(sReplyTo);
                        oMessage.To.Add(oReplyTo);
                    }
                }

                if (oItem.lstAttachments != null)
                {
                    foreach (var item in oItem.lstAttachments)
                    {
                        Attachment oAttachment = new Attachment(item.oFileData, item.sFileName);
                        oAttachment.ContentId = item.sFileName;
                        oMessage.Attachments.Add(oAttachment);
                    }
                }

                using (SmtpClient oSmtpClient = new SmtpClient())
                {
                    NetworkCredential oNetworkCredential = new NetworkCredential();
                    oNetworkCredential.UserName = this._settings.SenderEmail;
                    oNetworkCredential.Password = this._settings.SenderPassword;

                    oSmtpClient.Host                  = this._settings.SmtpHost;
                    oSmtpClient.EnableSsl             = this._settings.SmtpEnableSSL.Equals("1");
                    oSmtpClient.Port                  = int.Parse(this._settings.SmtpPort);
                    oSmtpClient.UseDefaultCredentials = false;
                    oSmtpClient.Credentials           = oNetworkCredential;

#if RELEASE
                    oSmtpClient.Send(oMessage);
#endif
                }

                oResponse.IsSuccess = true;
                return(oResponse);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <Response <EmailDto.Response> > SendEmail(EmailDto.Request oItem)
        {
            try
            {
                var oResponse = new Response <EmailDto.Response>();
                oResponse.IsSuccess = false;

                if (string.IsNullOrEmpty(oItem.sSubject))
                {
                    oResponse.Message = "Se debe ingresar un Titulo.";
                    return(oResponse);
                }

                if (string.IsNullOrEmpty(oItem.sSendTo))
                {
                    oResponse.Message = "Se debe ingresar un Remitente.";
                    return(oResponse);
                }

                if (string.IsNullOrEmpty(oItem.sMessage))
                {
                    oResponse.Message = "Se debe ingresar un Mensaje.";
                    return(oResponse);
                }

                var oSendFrom = new System.Net.Mail.MailAddress(SenderEmail, SenderDisplay);
                var oSendTo   = new System.Net.Mail.MailAddress(oItem.sSendTo);
                var oMessage  = new System.Net.Mail.MailMessage(oSendFrom, oSendTo);
                oMessage.Subject         = oItem.sSubject;
                oMessage.SubjectEncoding = Encoding.UTF8;
                oMessage.IsBodyHtml      = true;
                oMessage.Body            = oItem.sMessage;
                oMessage.BodyEncoding    = Encoding.UTF8;

                if (!string.IsNullOrEmpty(oItem.sReplyTo))
                {
                    foreach (string sReplyTo in oItem.sReplyTo.Split(';'))
                    {
                        var oReplyTo = new System.Net.Mail.MailAddress(sReplyTo);
                        oMessage.To.Add(oReplyTo);
                    }
                }

                if (oItem.lstAttachments != null)
                {
                    foreach (var item in oItem.lstAttachments)
                    {
                        var oAttachment = new System.Net.Mail.Attachment(item.oFileData, item.sFileName);
                        oAttachment.ContentId = item.sFileName;
                        oMessage.Attachments.Add(oAttachment);
                    }
                }

                using (var oSmtpClient = new System.Net.Mail.SmtpClient())
                {
                    var oNetworkCredential = new System.Net.NetworkCredential();
                    oNetworkCredential.UserName = SenderEmail;
                    oNetworkCredential.Password = SenderPassword;

                    oSmtpClient.Host = SmtpHot;
                    oSmtpClient.UseDefaultCredentials = false;
                    oSmtpClient.Credentials           = oNetworkCredential;
                    oSmtpClient.EnableSsl             = SmtpSSL;
                    oSmtpClient.Port = SmtpPort;
                    await oSmtpClient.SendMailAsync(oMessage);
                }

                oResponse.IsSuccess = true;
                return(oResponse);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }