Ya efectivamente instalé los archivos necesarios, del sistema Linux, y pude enviar, correos por medio de comando, desde Perl.
Lo cual no he resuelto, poder instalar con
cpan.
Pero lo que sí logré fue enviar el correo necesario desde comando, y estos comandos son desde Perl, el código fue el siguiente:
Using perl Syntax Highlighting
#!/usr/bin/perl
# GET method form
#use File::Fu;
# my $dir = File::Fu->dir("/home/xxxxxxxx");
#$dir->e and warn "$dir exists";
#$dir->l and warn "$dir is a link to ", $dir->readlink;
#foreach my $entry ($dir->list) {
# warn $entry . ': ' . $entry->stat->size, "\n"
# if($entry->f);
#}
$data_direccion1_comparacion = "$ENV{HOME}/Basura/direccion1_comparacion";
open( DIRECCION1C, $data_direccion1_comparacion );
@raw_direccion_comparacion = <DIRECCION1C>;
close(DIRECCION1C);
$i = 0;
foreach $wrestler (@raw_direccion_comparacion) {
chomp($wrestler);
( $e_mail, $archivo, $numero_envios ) = split( /\:\:/, $wrestler );
if ($e_mail) {
$e_mail_compara[$i] = $e_mail;
$archivo_compara[$i] = $archivo;
$numero_envios_compara[$i] = $numero_envios;
$i += 1;
print "E_Mail $e_mail Archivo $archivo \#Envios $numero_envios \n";
}
}
$data_direccion1 = "$ENV{HOME}/Basura/direccion1";
open( DIRECCION1, $data_direccion1 );
@raw_direccion = <DIRECCION1>;
close(DIRECCION1);
($enviados) = 0;
$subject = "Te invito a que visites esta pagina";
foreach $wrestler (@raw_direccion) {
chomp($wrestler);
( $e_mail, $archivo, $numero_envios ) = split( /\:\:/, $wrestler );
if ( $numero_envios < 999999 ) {
if ( ( &valida_igualdad($e_mail) ) == 0 ) {
$comando
= "perl /home/xxxxxxxx/Php/Prueba/perl/send.pl \"$subject\" $e_mail /home/xxxxxxxx/Basura/Invitacion";
print $comando, "\n";
system($comando);
$enviados += 1;
$e_mail_compara[$i] = $e_mail;
$archivo_compara[$i] = $archivo;
$numero_envios_compara[$i] = $numero_envios + 1;
$i += 1;
}
if ( $enviados > 15 ) {
last;
}
}
else {
if ( ( &valida_igualdad($e_mail) ) == 0 ) {
$e_mail_compara[$i] = $e_mail;
$archivo_compara[$i] = $archivo;
$numero_envios_compara[$i] = $numero_envios;
$i += 1;
}
}
}
print "********************************************** \n";
print "********************************************** \n";
print "********************************************** \n";
print "** ** \n";
print "** ** \n";
print "** ** \n";
print "** Enviados = $enviados ** \n";
print "** ** \n";
print "** ** \n";
print "** ** \n";
print "********************************************** \n";
print "********************************************** \n";
print "********************************************** \n";
open( DIRECCION1C, " > $data_direccion1_comparacion" );
for ( $i = 0; $e_mail_compara[$i]; $i++ ) {
print DIRECCION1C "$e_mail_compara[$i]\:\:$archivo_compara[$i]\:\:$numero_envios_compara[$i]\:\: \n";
}
close(DIRECCION1C);
sub valida_igualdad {
$e_mail = $_[0];
my $i;
for ( $i = 0; $e_mail_compara[$i]; $i++ ) {
if ( $e_mail eq $e_mail_compara[$i] ) {
return (1);
Coloreado en 0.004 segundos, usando
GeSHi 1.0.8.4
send.pl
Using perl Syntax Highlighting
#!/usr/bin/perl
$subject = shift;
$direccion = shift;
$mensaje = shift;
$email = "mail \-s \"$subject\" $direccion \< $mensaje";
print $email, "\n";
system($email);
exit;
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Envío solamente 15 porque se bloquea el
mail de Google. Posiblemente se puede resolver con que comando desde
mail con el parámetro
bcc. Y este comando se vuelve a mandar nuevamente, así hasta que se terminen los
email's.
Lógicamente antes, se deberá obtener en un archivo secuencial los
email, en el formato:
e_mail::archivo::numero_de_envios::Los
email se ignoran siempre y cuando esté el número de envíos mayor a 999999.
Con respecto a la página para cuestionar los parámetros del formulario ya también están resueltos, y lee la información desde html. Y re-envía las páginas con los parámetros desde
post, por medio de Perl.
Gracias, experto, la ayuda tuya, y la búsqueda de páginas por medio de Google se logró el cometido.