Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/06/2006, 08:03
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Te quería hacer dos preguntas una respecto de la validadción de email, como sería este tema? porque yo valido el mail cuando entra en la base desde el formulario de login... a eso te referías?
Si lo haces así .. no tendría mucho sentido repetir la operación cuando envias el e-mail .. Pero a veces se introducen datos por otros médios a tus BBDD, ya sean por procesos de importación "masivos" de datos que no pudistes o no sabes si están correctos o por otras causas.

Cita:
PHPMailer envía aprentemente de una forma (como lo estoy usando yo), y también vía SMTP... mi pregunta es que me conviene hacer con tal de no saturar mi server y de que mi server no aparesca en ninguna "lista negra"...
En principio PHPMailer puede enviar el e-mail usando la función mail() de PHP nativa de este, usando el MTA: sendmail() y usando conexión directa SMTP. No sé ahora como "por defecto" PHPMailer lo hace .. (siempre uso el método SMTP directo y así lo especifico en:
Código PHP:
 $mail->Mailer   "smtp";
// junto con otros datos sobre el Host y demás para el envio por SMTP directo ... 
El tema de evitar caer en "listas negras" o no .. no depende de que si usastes mail() o un servidor SMTP tuyo própio directo. Depende de las condiciones que rodean al envio del e-mail en sí .. no tanto de PHP. PHP con PHPMailer ajusta en la medida de lo posible las cabeceras del e-mail .. rigiendose en los RFC's que las definen, pero .. es al final de todo tu servidor de correo el que envia el e-mail, el cual "corre" bajo cierto domino/IP registrado (con sus registros MX en regla .. su dominio registrado o no asociado .. ). Todo eso es parte del envio del e-mail y lo que los filtros de "SPAM" validan entre otras cosas. A las "listas negras" se añaden IP's/dominos que se ha comprobado que hacen SPAM y así son consultados por los filtros de anti-SPAM para validar si quien envia el e-mail está en esas listas o no (insisto: entre otras cosas que validan).

Por cierto .. se me olvidó algo bien importante .. que ahora me dí cuenta:

Haces en tu código:

Cita:
while($row = mysql_fetch_array($result3)){ <--- inicias un bucle
$mail = new PHPMailer(); <-- instancias el objeto PHPMailer constantemente a cada pasada del bucle ..
También más abajo .. vuelves a instanciar el objeto nuevamente:
Cita:
// Envio mail informando al adminitrador
$mail = new PHPMailer();
El objeto .. su "instancia" ($mail=new PHPMailer();) sólo debes hacerlo -una vez- .. al principio del script .. envies los e-mails que envies. Para eso .. PHPMailer tiene sus métodos para "resetear" las direcciones de e-mail que puedas haber acomulado con un:

Código PHP:
$mail->AddAddress($row3[email])); 
Ates de cerrar tu bucle:
Código PHP:
while(....) { 
..... 
aqu&#237;}; 
Debes usar:
Código PHP:
$mail->ClearAddresses(); 
Tienes otra función similar para "resetear" archivos adjuntos si lo usases de la misma forma ...


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.