Actualmente estoy montando un sitio de wordpress (entre otras cosas), se trata de una web corporativa. Esta empresa tiene distintas sedes y por lo tanto puedes querer contactar con diferentes personas. Hasta aqui fácil, haces una sección de contacto con las diferentes direcciones, telefonos y emails y listo, que llamen, vayan o escriban a donde quieran ¿pero qué pasa si quieres meter un formulario de contacto? bueno pordrias hacerlo a mano, pero eso implicaria preocuparte de validaciones, envios con ajax y demás… Hoy en día ni me lo planteo, uso el plugin de wordpress contact form 7 (debería venir por defecto la verdad porque es de uso obligado) que te ayuda con todo esto.
Nunca había tenido problema, creas tu formulario le configuras el destinatario, una copia de cortesia para el que ha escrito tenga constancia y todo funcionando perfecto. Pero hoy necesitaba algo más, queria que pudieran escoger a que sede enviar ese formulario de una forma cómoda. Pensando un poco he decidido poner un <select> de forma que pueda poner a quien quiero que llegue.
[select destinatario "ciudad1@ejemplo.com" "ciudad2@ejemplo.com" "ciudad3@ejemplo.com"]
El «problema» de esto es que directamente visualizaremos en el desplegable las direcciones de correo a las que vamos a dirigir el mensaje y mi idea era poner algo más comodo de cara al usuario, por ejemplo el nombre de la ciudad o el departamento al que va dirigido. La solución es bastante sencilla:
[select destinatario "Ciudad 1|ciudad1@ejemplo.com" "Ciudad 2|ciudad2@ejemplo.com" "Ciudad 3|ciudad3@ejemplo.com"]
Una vez que lo tenemos sólo hay que añadir al campo para de la configuración nuestro [destinatario] y ya lo tendriamos tal y como lo queremos. Sencilla solución para este pequeño problema que os planteaba.
¿Y vosotros que opinais de wordpress contact form 7? ¿Lo usáis? ¿Usáis alguno equivalente?
3rn3st0
Si lo que deseas es que no se vean las direcciones de correo electrónico, sólo debes usar el caracter «pipe» de la siguiente manera:
[select recipient «Nombre que quieres que vea el Usuario|direccion@tuservidor.com» «Otra descripción|otrocorreo@tuservidor.com» «Lo último del ejemplo|nadamas@tuservidor.com»]
Alejandro
Si se añade mediante etiqueta por ejemplo en correo del destinatario [enviara] este produce error del sintaxis al no especificar el correo en dicha caja
dwalins
Hola Alejandro,
Si es normal, porque no tienes el correo hasta que no se manda el formulario, si quieres recoger el mismo correo que introducen tienes que recurrir a otro sistema que recoja el correo antes de enviarse, ¿que es exactamente lo que quieres conseguir?
Un saludo
Carlos Santana
Hola, a mi me pasa lo mismo, error de sintaxis, me gustaria que no se mostraran los demas correos de opcion y que cuando la persona comience a escribir el nombre por ejemplo, le aparezca la opcion o el nombre de la persona a la que se lo va enviar. Para que no elija la opcion que sea, si no la que debe elegir. Se podra ocultar la lista de opciones? saludos
dwalins
Hola Carlos,
¿Que error de sintaxis te aparece? Ahora mismo ese plugin lo que cuenta es con una lista desplegable, podrias modificarla para que te saliera alguna más avanzda que incluya un buscador pero siempre saldria el resto de correos mientras buscas, pero que no salga nada es un poco raro, ¿porque no deberían salir las otras direcciones? No lo acabo de comprender del todo para intentar darte una solucion
Un saludo
Carlos Santana
Hola, lo ideal en mi caso es que solo ven un destinatario, porque muestra muchas opciones y seria mas sencillo para la persona elegir el que necesita y no ver tantos, que cuando comience a escribir aparezca solo la opcion que necesita o las que mas se parezcan 🙂 El error de sintaxis salio el el formulario de contact form 7 en la seccion de correo electronico y dice [location] El campo tiene errores de sintaxis. Me manda a esta liga http://contactform7.com/configuration-errors/#mail.recipient:error_invalid_syntax
dwalins
Hola Carlos,
Tal y como está pensado el plugin no hace eso y va a costar mucho que lo haga, lo unico que podria ser algo más sencillo de lograr seria incluir un desplegable con un buscador y que el usuario pueda escribir, asi se van limpiando las opciones.
El error que te da es al utilizar una variable como correo en lugar de una dirección de correo, ¿el campo location es obligatorio en tu formulario?
Un saludo
Pedro Rodriguez
Hola, querria haceros una pregunta:
dependiendo de la elección del usuario en un menú desplegable, puedo enviar distintos email ??
Gracias
dwalins
Hola Pedro,
¿Con distintos emails te refieres al cuerpo del mensaje o a diferentes direcciones? A diferentes direcciones no vas a tener problema, pero para crear diferentes cuerpos de mensajes está más complicada la cosa, si es algo simple quizás podrias usar el valor de un select pero no es la mejor solución.
¿Que quieres crear exactamente?
Adrián
Buenas, agradezco mucho tu publicación, creo que puede ser muy util, mi problema es que he estado intentando utilizar este recurso, pero a la hora de introducir la etiqueta en el campo «Para» me indica un error de sintaxis, mensaje exacto «El campo tiene errores de sintaxis», he estado intentando solucionarlo y no doy con la tecla, no se si a alguno os ha pasado o como lo habéis solucionado, muchas gracias
Adrián
Solucionado 😀
dwalins
Hola Adrián,
Me alegra ver que lo has solucionado. ¿Cual era el problema al final?
Un saludo
Diego Jimenez
la solución para que no arroje error de sintaxis en el campo «para» es definiendo el select como obligatorio, ejemplo:
[select* recipient «opcion1|email1@gmail.com» «opcion2|email2@gmail.com» «opcion2|email2@gmail.com»]
dwalins
Muy interesante Diego, gracias por compartirlo! 😉
Raymundo Beltran Munguia
hola super bien los comentarios de cada uno, muchas gracias , pero si quisiera que al seleccionar una de las 3 opciones mande a dos destinatarios ?? ejemplo partiendo de Diego Jimenez :
[select* recipient “opcion1|email1@gmail.com , email2@gmail.com” “opcion2|email1@gmail.com , email2@gmail.com” “opcion2|email2@gmail.com , email2@gmail.com”]
las comas no funcionan como podría ser ?
Gracias por sus comentarios
dwalins
Hola,
Voy a investigarlo pero con dos no se si será posible. ¿Has probado usando punto y coma (;)?
Un saludo
Marcelo
Hola Dwalins, excelente aporte me ha servido muchísimo… sólo tengo un pequeño problema y es con el correo que llega a la persona encargada, por ejemplo:
—-
De: test
Teléfono: 1234567
Departamento: Caldas
Ciudad: Manizales
Concesionario: correo@gmail.com
—-
Como puedes ver en donde dice «concesionario» no me sale el nombre del concesionario sino que me sale el correo de la persona que tenía asignada para ese concesionario. Sabes como solucionarlo? que etiqueta usar?
Muchas gracias y de nuevo excelente aporte!
Marcelo
Explicándome mejor y relacionándolo con el ejemplo que tu planteas («Ciudad 1|ciudad1@ejemplo.com»), en el mensaje en «concesionario» que llega al destinatario es: ciudad1@ejemplo.com y no el nombre «Ciudad 1» que sería lo ideal.
dwalins
Hola Marcelo,
Prueba a hacer lo siguiente, donde quieras que aparezca el nombre que le has asignado escribe [_raw_{nombre del campo}] y asi te deberia aparecer. Pruebalo y me cuentas
Un saludo
Marcelo
Hola Dwalins,
Gracias por la respuesta, en realidad hice la prueba y no me funcionó, no me carga ningún dato, sale el mismo código que ingreso en el contactform7 ([_raw_{xxxxx}]).
dwalins
Hola Marcelo,
¿Lo has puesto con o sin las llaves? Tiene que ser asi [_raw_xxxxx]
Un saludo
Marcelo
Correcto, era eso, ya quedó perfecto… Que talento, mil gracias!
Enrique Pomallihua Aucasi
Hola, gracias por sus consejos. Tengo un emprendimiento de delívery en un condominio de 5 torres, mi consulta es: cómo hacer cuando el cliente seleccione una torre de destino ejemplo «torre 1» (en la página Finalizar Compra
) se envie a un e-mail a torre1@email.com y asi con las demás?. Gracias de antemano por sus respuestas. Mi web es:
estampadosmandy.cl
dwalins
Hola Enrique,
Esta explicación es para el plugin contact form 7, lo que tu comentas parece estar ligado al proceso de compra que va a depender de como lo gestiones, en este caso no se como has configurado woocommerce para hacer aparecer las torres. Lo más acertado seria usar el hook woocommerce_order_status_ para recuperar los datos del pedido (incluida la torre) una vez cumple los requisitos de pedido aceptado y desde ahi enviar el email a la torre correspondiente.
Un saludo
Daniel
hola para poner varios correos en un campo del select trate de esta forma pero no funciono [select* opciones «actualizar|email1@hotmail.com» «nuevo|mail2@gmail.com, mail3@gmail.com» «cerrar|mail4@gmail.com»] tambien con ; y [] entre los correos gracias por su atencion
dwalins
Hola Danie,
Prueba sin utilizar el asterisco (*) ya que en este caso el valor del select no puede ser nulo por lo que puede estar dando problemas por eso.
Un saludo
sonia
Buenas estoy mirando tu aporte que es justo lo que ando buscando, pero no me funciona, te cuento:
tengo un apartado provincias y estas deberían estar agrupadas en 8 zonas que corresponden a 8 mails de las delegaciones en España, a las que según selecciones la provincia llegara la consulta, pero no es así no me llega que hago mal, me llega al mail que tengo por defecto en contact 7:
[text* text-345 placeholder «Nombre»]
[email* email-159 placeholder «Email»]
[select* menu-182 include_blank «Panel detección temperatura corporal» «Cámara térmica portátil» «Cámara térmica»]
[checkbox* checkbox-282 «Profesional sector eléctrico» «Acepto la política de privacidad»]
[select* Provincia «Ciudad 1|sonia.domenech@golmar.es.com» «Ciudad 2|ciudad2@ejemplo.com» «Ciudad 3|ciudad3@ejemplo.com»]
[submit «Enviar»]
dwalins
Hola Sonia,
Lo que mandas parece correcto, por lo que driria que el problema puede estar en la configuración del envío que no hayas puesto el campo correspondiente dentro de la pestaña de «correo electronico», ¿el campo para es [Provincia]?
Además si vas a hacer el select obligatorio puedes añadir una opción en blanco primero, sino no tiene sentido hacerlo requerido ya que siempre va a tener un valor por defecto, en este caso Ciudad 1
Espero que esto te ayude, un saludo
sonia
Conseguido
sonia
Hola Dwallins,
Me funciono correcto ahora me surge el problema de como hacer que me salga el campo de la ciudad de donde viene la consulta:
[select recipient include_blank «Ciudad 1|ciudad3@ejemplo.com» «Ciudad 2|ciudad3@ejemplo.com» «Ciudad 3|ciudad3@ejemplo.com»]
Nombre:[text-345]
Email: [email-159]
Provincia:[_raw_recipient]
Consulta: [menu-182]
Disculpa las molestias pero me has abierto el cielo
sonia
Hola Dwallins,
Ya esta todo solucionado, muchassssssssssssss gracias
dwalins
Hola Sonia,
Me alegra ver que lo has encontrado, efectivamente para utilizar el valor tienes que usar [_raw_NOMBREDELCAMPO]
Un saludo
Jair Sehuanes
Hola, tengo una consulta de algo que quiero aplicar.
Tengo una empresa que tiene 2 departamentos; (Ventas y Producción) he creado un formulario de pedido donde los vendedores colocan los productos con los campos de: «Cantidad» , «Descripción» , «Precio»
Lo que quiero hacer es que al correo de ventas llegue la información suministrada en los 3 campos del formulario.
Pero al correo de producción NO llegue el campo de precio.
Gracias