Foros del Web » Programando para Internet » PHP »

phpmailer y MySQL

Estas en el tema de phpmailer y MySQL en el foro de PHP en Foros del Web. Tengo un servidor linux, mysql y sevidor smtp y estoy probando phpmailer y no funciona cuando busca los correos en MySQL, no da error pero ...
  #1 (permalink)  
Antiguo 14/06/2006, 16:21
 
Fecha de Ingreso: marzo-2003
Mensajes: 225
Antigüedad: 14 años, 9 meses
Puntos: 0
phpmailer y MySQL

Tengo un servidor linux, mysql y sevidor smtp y estoy probando phpmailer y no funciona cuando busca los correos en MySQL, no da error pero no llegan.
El scripts es de la página de phpmailer así que obviamente está bien.

Tengo algunas dudas:
- en la conexión con MySQL el host es dominio.es o localhost?
- de donde sale la variable de WHERE Id=$Id?
- es necesario incluir $mail->IsSMTP();?

y este es el script:

Código PHP:
require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->From     "[email protected]";
$mail->FromName "List manager";
$mail->Host     "smtp1.site.com;smtp2.site.com";
$mail->Mailer   "smtp";

@
MYSQL_CONNECT("localhost","root","password");
@
mysql_select_db("my_company");
$query  "SELECT full_name, email, photo FROM employee WHERE id=$id";
$result = @MYSQL_QUERY($query);

while (
$row mysql_fetch_array ($result))
{
    
// HTML body
    
$body  "Hello <font size=\"4\">" $row["full_name"] . "</font>, <p>";
    
$body .= "<i>Your</i> personal photograph to this message.<p>";
    
$body .= "Sincerely, <br>";
    
$body .= "PHPMailer List manager";

    
// Plain text body (for mail clients that cannot read HTML)
    
$text_body  "Hello " $row["full_name"] . ", \n\n";
    
$text_body .= "Your personal photograph to this message.\n\n";
    
$text_body .= "Sincerely, \n";
    
$text_body .= "PHPMailer List manager";

    
$mail->Body    $body;
    
$mail->AltBody $text_body;
    
$mail->AddAddress($row["email"], $row["full_name"]);
    
$mail->AddStringAttachment($row["photo"], "YourPhoto.jpg");

    if(!
$mail->Send())
        echo 
"There has been a mail error sending to " $row["email"] . "<br>";

    
// Clear all addresses and attachments for next loop
    
$mail->ClearAddresses();
    
$mail->ClearAttachments();

  #2 (permalink)  
Antiguo 14/06/2006, 16:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
- en la conexión con MySQL el host es dominio.es o localhost?

En la conexión a tu BBDD mysql será los datos del host que corresponda .. ya sea localhost como suele ser común o la dirección que tu proveedor (usas un servicio de hosting? o tu PC como servidor? ..) te dé.


Cita:
- de donde sale la variable de WHERE Id=$Id?
Supuestamente hace un ejemplo de una sentencia SQL para obtener unos registros de tu BBDD .. tu veras que BBDD usas, que tabla(s) usas y que consulta SQL necesitas para acceder a dichos datos ..

Cita:
- es necesario incluir $mail->IsSMTP();?
Lo que no puedes es usar el ejemplo que ves en la documentación de PHP Mailer textual .. debes usar tus própios datos de conexión a tus BBDD .. tus tablas y sentencias SQL adecuadas, también debes ajustar el servidor SMTP y sus datos de conexión (cuenta de correo) que vas a usar .. no puedes usar lo que ahí ves ..

Si estás modificando esos datos .. por favor expón el código que -tu- usas .. no el "demo" que la documentación de PHP mailer suministra.

Quita los @ que tienen algunas funciones en el código .. así veras mensajes de error más concretos de Msyql. También es bueno usar (por lo menos en fase de desarrollo como en las que estas):

Código PHP:
$result MYSQL_QUERY($query) or die (mysql_error()); 
así observaras mejor problemas de SQL o de conexión concretos ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 17:30.