¿Como agregar imágenes a un template de correo en Cake PHP 3?

me encuentro con el siguiente problema, agregue un template html que yo misma cree para que sea visualizado en el correo enviado desde mi sistema pero al recibirlo me doy cuenta que no se visualizan mis logos.

Este es mi codigo del template para el correo la ruta esta src/template/layout/Email/html:



    
    

    
            

Titulo o subtitulo


Lorem Ipsum es simplemente el texto de relleno de las imprentas y archivos de texto. Lorem Ipsum ha sido el texto de relleno estándar de las industrias desde el año 1500, cuando un impresor

Links de referencía

Lorem Ipsum es simplemente el texto de relleno de las imprentas y archivos de texto. Lorem Ipsum ha sido el texto de relleno estándar de las industrias desde el año 1500, cuando un impresor, Lorem Ipsum es simplemente el texto de relleno de las imprentas y archivos de texto. Lorem Ipsum ha sido el texto de relleno estándar de las industrias desde el año 1500, cuando un impresor

Nose que este haciendo mal, alguien podría ayudarme.

Validación de un correo electrónico en C usando el método ‘strchr’

Necesito implementar una acción en C con la cabecera

bool check_mail(const char* mail);

Y debo utilizar el método “strchr” para su realización. En principio bastaría validar una dirección tipo @ . sin más, por ejemplo

Serían válidas:user@uoc.edu, name.surname@uoc.edu, user@eimt.uoc.edu
Pero no user.uoc.edu, user@uoc. user@uoc.

He estado mirando y hay muchas maneras de validar un correo pero en casi todas se utilizan expresiones regulares y/o bucles for sencillamente buscando el carácter y listos.

Ando bastante perdido al respecto. La idea que tenía era hacer algo tipo

bool check_mail(const char* mail) {
// PR1 EX4

//Validate pre conditions
assert(mail != NULL);

char email[40];

strcpy(email,mail);

const char check = ‘@’;
const char checkPoint = ‘.’;
char *check1;
char *check2;

check1 = strchr(email, check);
check2 = strchr(email, checkPoint);

//If all is OK
return true;
}

y, a partir de los dos punteros, validar si existe el formato deseado….pero me pierdo, estoy empezando y me qudo bloqueado.

Alguna ayuda o sugerencia? Por más que miro aquí o en Google, encuentro muchas cosas en otros lenguajes, pero nada en C y menos mediante el uso de punteros y strschr

Gracias,

Nota: aún no sé cómo colocar todo el código usando {}, me escribe una sola linea o dos, ¿hay que pulsar ‘{}’ para cada línea de código?

Recorrer mediante un for, la clase MailMessage, para enviar correo por correo

En este método se tienen distintos correos a los que se le enviara una copia, la desventaja es que más adelante si envía bien los correos, tiene que guardar información, la idea es que si envía al menos a uno en un método bool se guarden los registros, por eso necesito saber como realizar el for

protected void emailprueba(string conca, string nit, string razon, string correocliente, string correopersonatra, List ta, int tipoproceso)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                try
                {
                    string descripcionentreg = "";
                    string correo = "";
                    MailMessage mail = new MailMessage();
                    MailAddress de = new MailAddress("coin@hotmail.com", descripcionentreg);
                    string asunto = "AVISO IMPORTANTE";

                mail.To.Add(new MailAddress(correocliente, asunto));

                if (correopersonatra.Length != 0 && correopersonatra != " ")
                {
                    mail.To.Add(new MailAddress(correopersonatra, asunto));
                }                 
                    mail.To.Add(new MailAddress("pacosaldivar@hotmail.com", "admin"));

                mail.Priority = MailPriority.Normal;
                SmtpClient smtp = new SmtpClient();
                smtp.Host = "coin.hotmail.co";
                smtp.Port = 25;
                smtp.EnableSsl = false;
                smtp.UseDefaultCredentials = true;
                string output = null;
                mail.From = de;
                AlternateView altView = AlternateView.CreateAlternateViewFromString(cuerpo1(conca, nit, razon, correocliente, correopersonatra, ta, tipoproceso), null, MediaTypeNames.Text.Html);
                LinkedResource yourPictureRes = new LinkedResource(Server.MapPath("") + "/imagenes/logo_correo.png", MediaTypeNames.Image.Jpeg);
                yourPictureRes.ContentId = "EmailLogo";
                altView.LinkedResources.Add(yourPictureRes);
                mail.AlternateViews.Add(altView);

                smtp.Send(mail);

                mail.Dispose();

            }
            catch (Exception ex)
            {
                Session["errorcorreo"] = "error";
                if (ex is System.Threading.ThreadAbortException == false)
                {
                    correocontrolerror.email("Ha ocurrido un error en el envio de correos", ex.ToString());
                }
                throw new Exception("Error al generar cuerpo del correo, " + ex.ToString());
            }
            scope.Complete();
        }
    }

¿Como recorrer mediante ciclo for la clase MailMessage para enviar correo por correo?

En este método se tienen distintos correos a los que se le enviara copia, la desventaja es que mas adelante si envia bien los correos tiene que guardar informacion, la idea es que si envia al menos a uno en un metodo bool se guarden los registros, por eso necesito saber como realizar el for

protected void emailprueba(string conca, string nit, string razon, string correocliente, string correopersonatra, List ta, int tipoproceso) {
    using (TransactionScope scope = new TransactionScope()) {
        try {
            string descripcionentreg = "";
            string correo = "";
            MailMessage mail = new MailMessage();
            MailAddress de = new MailAddress("coin@hotmail.com", descripcionentreg);
            string asunto = "AVISO IMPORTANTE";
            mail.To.Add(new MailAddress(correocliente, asunto));
            if (correopersonatra.Length != 0 && correopersonatra != " ") {
                mail.To.Add(new MailAddress(correopersonatra, asunto));
            }                 
            mail.To.Add(new MailAddress("pacosaldivar@hotmail.com", "admin"));
            mail.Priority = MailPriority.Normal;
            SmtpClient smtp = new SmtpClient();
            smtp.Host = "coin.hotmail.co";
            smtp.Port = 25;
            smtp.EnableSsl = false;
            smtp.UseDefaultCredentials = true;
            string output = null;
            mail.From = de;
            AlternateView altView = AlternateView.CreateAlternateViewFromString(cuerpo1(conca, nit, razon, correocliente, correopersonatra, ta, tipoproceso), null, MediaTypeNames.Text.Html);
            LinkedResource yourPictureRes = new LinkedResource(Server.MapPath("") + "/imagenes/logo_correo.png", MediaTypeNames.Image.Jpeg);
            yourPictureRes.ContentId = "EmailLogo";
            altView.LinkedResources.Add(yourPictureRes);
            mail.AlternateViews.Add(altView);
            smtp.Send(mail);
            mail.Dispose();
        } catch (Exception ex) {
            Session["errorcorreo"] = "error";
            if (ex is System.Threading.ThreadAbortException == false) {
                correocontrolerror.email("Ha ocurrido un error en el envio de correos", ex.ToString());
            }
            throw new Exception("Error al generar cuerpo del correo, " + ex.ToString());
        }
        scope.Complete();
    }
}

¿Cómo acceder a borradores de correo desde Google App Script?

estoy creando una script para enviar correos mediante combinación de correspondencia, pero para este fin requiero acceder a los borradores de correos de gmail para que a partir de uno de éstos, pueda hacer la combinación de correos y enviarlos a los respectivos destinatarios.

Se que existen algunas herramientas como complementos para enviar correos combinados pero requiero desarrollar una nueva script porque ninguno de ellos tiene los requerimientos de acuerdo a mis necesidades.

¿Cómo desde GAS puedo acceder a estos borradores de correo?

Gracias

Respuesta en navegador tras enviar un correo con PHP

Quiero dar una respuesta al usuario, ya sea de: “Enviado” o “No se pudo enviar” en la misma pagina que visualiza, tras enviar un correo mediante un formulario…
Me explico:

1: El usuario entra en > Contacto.html en el navegador, rellena el formulario y pulsa sobre el botón enviar, tal que:

introducir la descripción de la imagen aquí

Os adjunto el código html5:

* Campos obligatorios.

2: El usuario espera que se realice la operación de enviar el correo, una vez realizada la operación… Bueno, como veis, mi intención es poner texto en ese “div” que tiene id=”respuestaCorreo”(La última línea del código html5).

Pero añadir ese texto… eso me rompre la cabeza… ya que tengo que hacerlo desde php/sendEmail.php(ubicación/NombreFichPHP), vamos, desde el código php.

El código en php es tal que:


            
            
                
            
            
                

Correo

Usuario: ".$nombre."

Correo: ".$email."

Mensaje: ".$mensaje."

"; /* Generamos la cabecera del correo. */ $cabecera = "MIME-Version: 1.0rn"; $cabecera .= "Content-type: text/html; charset = UTF-8rn"; $cabecera .= "From: ".$email."rn"; /* Enviamos el correo guardando su estado. */ $enviado = mail($destinatario, $asunto, $contenido, $cabecera); } /* Mostramos información al usuario y redireccionamos. */ if($enviado){ echo ''; }else{ echo ''; } ?>

3: El usuario ve la respuesta debajo del formulario, que es donde está el div mensionado anteriormete. Si fue enviado de forma correcta el correo, se reinicia el formulario, si no, pues se deja los datos, para que los corrija.

Como veis, lo que he intentado es mostrar un pop mediante javaScript… pero que no me parece bonito la verdad… por ello pregunto… que supongo que se podrá, pero no se como… ya que no se mucho de php.

Seguramente hay alguna función o algo parecido que no sea solo “echo”.

Programadores de PHP os aclamo!!! xD (Muchas gracias de Ante Mano).