Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Como envíar un email a varios destinatarios

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> CGI
Mensaje Jue Dic 15, 2005 6:46 pm
Mickz
Perlero Nuevo
Perlero Nuevo
Registrado: 14 Dic 2005
Mensajes: 14
Ubicación: Mexico
Como envíar un email a varios destinatarios Responder citando

Hola a todos soy novato en PERL y tengo un problema con un cgi el cual tengo funcionando para
envio de un mail, pero lo que quiero es hacer que este funcione para varios destinatarios. pongo mi aplicacion para ver si alguien me puede ayudar Rolling Eyes gracias.

aplicacion cgi

#/usr/local/bin/perl


use CGI;
$cgi=new CGI;

$sendmail="/usr/lib/sendmail";
$recommendSubject = "Una amiga quiere que visites beinggirl.net";
$recommendSender = "";
$recommendText = "------------------------------------------------------------".
"\n\n_MESSAGE_CONTENT\n\n".
"------------------------------------------------------------".


$relativeAddress="";
$recommendRedirect = $relativeAddress."";




sub validate_email {
$_ = shift;

return (m/^([A-Z0-9]+[._]?){1,}[A-Z0-9]+\@(([A-Z0-9]+[-]?){1,}[A-Z0-9]+\.){1,}[A-Z]{2,4}$/i);
}

$referer = $cgi->param('referer');

if ($referer eq "RECOMMEND") {

$subject = $recommendSubject;
$from = $recommendSender;
$to = $cgi->param('email');
$message = $cgi->param('message');
$content = $recommendText;
$redirect = $recommendRedirect;

$_ = $content;
s/_MESSAGE_CONTENT/$message/g;
$content = $_;

$isValidAddress = validate_email($to);

}
open (MAIL,"| $sendmail -i -t" );
print MAIL "To: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n\n";
print MAIL $content;
close (MAIL);

print $cgi->header;
print "<html><head><meta http-equiv=\"refresh\" content=\"1; URL=$redirect\"></head></html>";
exit 0;

Aplicacion html
[/b]
Mensaje Vie Dic 16, 2005 8:07 am
monoswim
Vive para Perl en Español
Vive para Perl en Español
Registrado: 18 Nov 2003
Mensajes: 716
Ubicación: Buenos Aires
Responder citando

Se me cocurre esto

Create un @to que tenga las direcciones a las cuales mandas el mail

foreach my $to (@to){

open (MAIL,"| $sendmail -i -t" );
print MAIL "To: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n\n";
print MAIL $content;
close (MAIL);

}

Estás creando un mail por cada dirección, para crear el @to depende de como envíes los parámetros desde tu HTML...

Saludos
Mensaje Vie Dic 16, 2005 8:24 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4126
Ubicación: Valladolid, España
Responder citando

En la variable $to agrega todas las direcciones, separadas por ';'. Si no te funciona así, prueba con ','.
Publicar nuevo tema   Responder al tema    Foros de discusión -> CGI Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group