Foros del Web » Programando para Internet » PHP »

Seleccionar idioma para envío de mails...

Estas en el tema de Seleccionar idioma para envío de mails... en el foro de PHP en Foros del Web. Quiero poder enviar un mail de respuesta a un usuario en el idioma en el que el vió el sitio WEB (INGLES o ESPAÑOL). Para ...
  #1 (permalink)  
Antiguo 10/01/2006, 19:36
 
Fecha de Ingreso: enero-2006
Mensajes: 33
Antigüedad: 11 años, 11 meses
Puntos: 0
Seleccionar idioma para envío de mails...

Quiero poder enviar un mail de respuesta a un usuario en el idioma en el que el vió el sitio WEB (INGLES o ESPAÑOL).

Para esto he preseleccionado previamente los registros a los que les voy a enviar el correo.

ahora lo que necesito es que según el idioma (2=Inglés y 1=Español) el sistema le envíe el correo.

El código que tengo es el siguiente:

$contacto= new DBcontacto();
$contacto->connect();

for ($i=0;$i<count($HTTP_POST_VARS['seleccionar']);$i++) {

$contacto->id=$HTTP_POST_VARS['seleccionar'][$i];
$contacto->find();
// $contacto->show();

ESTO PREPARA LA TOTALIDAD DE LOS REGITROS A LOS QUE SE LES VA A ENVIAR EL CORREO.

Ahora el código que estoy usando para que de los registros seleccionados les envíe el correo en el idioma de acuerdo a su orígen es éste:

if ($contactoidioma=2)
{

$strmail='<html>';
$strmail='XXXXXXXXXXXXX';
//(ACÁ VA EL TEXTO EN INGLÉS)
$strmail.='</BODY></HTML>';

$crlf = "\n";
$hdrs = array(
'From' => $usuariodata->email,
'Subject' => 'INVITATION TO SEE A VIRTUAL HOM'
);
$mime = new Mail_mime($crlf);
$mime->setHTMLBody($strmail);
$body = $mime->get();
$hdrs = $mime->headers($hdrs);
$mail =& Mail::factory('mail');
$mail->send($contacto->email, $hdrs, $body);

}


else {

$strmail='<html>';
$strmail='XXXXXXXXXXXXX';
//(ACÁ VA EL TEXTO EN ESPAÑOL)
$strmail.='</BODY></HTML>';



$crlf = "\n";
$hdrs = array(
'From' => $usuariodata->email,
'Subject' => 'INVITACION A VER EL HOM VIRTUAL'
);
$mime = new Mail_mime($crlf);
$mime->setHTMLBody($strmail);
$body = $mime->get();
$hdrs = $mime->headers($hdrs);
$mail =& Mail::factory('mail');
$mail->send($contacto->email, $hdrs, $body);

}
}

// NO HE LOGRADO QUE EFECTIVAMENTE ENVÍE EL CORREO AL CLIENTE EN EL IDIOMA QUE TIENE "ASIGNADO" EN EL REGISTRO.... ALGUIEN PODRÍA REVISAR EL CÓDIGO?

CREO QUE DE TANTO INTENTARLO, YA PASO POR ENCIMA DEL ERROR SITEMÁTICAMENTE...
GRACIAS

Última edición por miguelangelb; 10/01/2006 a las 20:00
  #2 (permalink)  
Antiguo 10/01/2006, 19:50
 
Fecha de Ingreso: diciembre-2005
Mensajes: 122
Antigüedad: 12 años
Puntos: 0
te contradices:

(2=Inglés y 1=Español)

...

if ($contactoidioma != 2)
{
//(ACÁ VA EL TEXTO EN INGLÉS)
}

$contactoidioma distinto de 2 equivale a igual a 1 que es español. usa constantes.
  #3 (permalink)  
Antiguo 10/01/2006, 20:21
 
Fecha de Ingreso: enero-2006
Mensajes: 33
Antigüedad: 11 años, 11 meses
Puntos: 0
tienes razón... ahí había un error... pero....

el problema persiste ya que quitando el signo! envía el primer correo (en inglés ) al registro que tiene contactoidioma=2, pero el segundo correo en español no lo envía al registro que tiene contactoidioma=1....

que podrá ser?
  #4 (permalink)  
Antiguo 16/01/2006, 18:32
 
Fecha de Ingreso: diciembre-2005
Mensajes: 122
Antigüedad: 12 años
Puntos: 0
if ($contactoidioma=2)

epa, que es eso, ese operador no es el correcto...

if ($contactoidioma==2)
  #5 (permalink)  
Antiguo 16/01/2006, 18:38
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
otra cosa, aunque no creo que esté causando problemas (dada la forma de trabajar de mail() )
la sintaxis de mail es:

mail(PARA, ASUNTO, CUERPO, CABECERAS ADICIONALES)

(opcional cabeceras adicionales)
y tú estás usando

mail(PARA, CABECERAS ADICIONALES, CUERPO)

Solo un detalle, nada más.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:04.