[Rio-pm] MIME::Lite

Lucas Oliveira lucasmateus.oliveira em gmail.com
Quinta Setembro 12 05:42:27 PDT 2013


	Na verdade não é o Google que está fechando a porta, são os provedores, é muito provavel que esse disparo é feito utilizando um serviço de Internet domestica ou não própria para isso, para esses casos é aconselhavel fechar a porta 25 pois a conexão com servidores SMTP por clientes agora é feita pela porta 587 e a 25 fica limita a comunicação entre servidores.

	Sendo assim, tente utilizar a porta 587.

Em 12/09/2013, às 09:13, Ailton Zacarias <ailtonzsilva em gmail.com> escreveu:

> Bom dia a todos,
> 
> O código abaixo estava funcionando corretamente a mais de 2 anos porem a 4 dias não funciona mais e error que mostra ao executar é 
> 
> 
> "SMTP Failed to connect to mail server: Uma tentativa de conexÒo falhou porque o
> componente conectado nÒo respondeu
> corretamente ap¾s um perÝodo de tempo ou a conexÒo estabelecida falhou
> porque o host conectado nÒo respondeu."
> 
> alguem pode me ajudar?
> 
> 
> AMBIENTE: Win7 e WinXP 
> 
> 
> segue abaixo o script:
> 
> #!c:/Perl/perl.exe -w
> 
> use warnings;
> 
> my $Cliente = 'CLIENTE';
> my $smtp	= 'smtp.gmail.com';
> my $to		= 'user em gmail.com';
> my $senha	= 'senha';
> my $cc		= 'user em gmail.com,user em yahoo.com.br';
> 
> $Cliente = $Cliente.'_'.DataHora();
> my $Lista = 'Arquivos.txt';
> my $Pacote = $Cliente.".zip";
> 
> CompactarArquivos($Lista,$Pacote);
> EnviarDados($smtp,$to,$Cliente,$Pacote,$cc);
> 
> sub EnviarDados{
> # SMTP, E-MAIL, TITULO, ARQUIVO, CC
> 
> 	use MIME::Lite;
> 	use MIME::Base64;
> 	use Authen::SASL;
> 	
> 	@ARQV = $_[3];
> 
> 	# Configuração do E-mail.
> 	my $SMTP_SERVER = $_[0];
> 	my $DEFAULT_SENDER = $_[1];
> 	my $DEFAULT_RECIPIENT = $_[4];
> 		
> 	MIME::Lite->send('smtp',$SMTP_SERVER, Timeout=>60, AuthUser=>$to, AuthPass=>$senha);
> 	
> 	my (%o, $msg);
> 	  
> 	$o{f} ||= $DEFAULT_SENDER;
> 	$o{t} ||= $DEFAULT_RECIPIENT;
> 	$o{s} ||= $_[2];
> 	$o{c} ||= $_[1];
> 		
> 	# construct and send email
> 	$msg = new MIME::Lite(
> 	    From => $o{f},
> 	    To   => $o{t},
> 		Subject => $o{s},
> 	    Data => "Hi",
> 	    Type => "multipart/mixed",
> 	);
> 
> 	# Anexar arquivo p/ envio.
> 	while (@ARQV) {
> 	  $msg->attach('Type' => 'application/octet-stream',
> 	               'Encoding' => 'base64',
> 	               'Path' => shift @ARQV);
> 	}
> 
> 	# Enviar e-mail
> 	$msg->send();
> 	}
> 
> sub CompactarArquivos{
> # ARQVS, NomeDoPacote
> 	# Create a Zip file
> 	use Getopt::Std;
> 	use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
> 	my $zip = Archive::Zip->new();
> 
> 	open(my $file, q{<}, $_[0]) or die "Can't open file $!\n";
> 	foreach my $arquivo ( <$file> ) {
> 	   #Remove o último caractere apenas se for igual a $/ "Separador de regsitro" 
> 	   chomp($arquivo);
> 	   # Verifica se o arquivo existe  
> 	   if (-e $arquivo){
> 	      # Add a file from disk
> 	      my $file_member = $zip->addFile($arquivo);
> 	   }
> 	}
> 
> 	# Save the Zip file
> 	unless ( $zip->writeToFileNamed($_[1]) == AZ_OK ) {
> 	   die 'write error';
> 	}
> 	
> 	}	
> 	
> sub DataHora{
> # Criar layout de data
> 	my($dd,$mm,$yy,$day,$hh,$nn) = (localtime)[3,4,5,6,2,1];
> 	my $today =  join '', map sprintf("%02d", $_),($yy%100,$mm+1,$dd,);
> 	my $hr = join '', map sprintf("%02d", $_),($hh,$nn);
> 
> 	# "Vasio" = Data e hora | "1" Apenas Data
> 	my $data = $_[0] ? $today:$today.'_'.$hr;
> 		
> 	my $datahora = $data;
> 	
> 	return ($datahora);
> 	}
> 
> 
> -- 
> Ailton Zacarias
> Cel: 55 +11 9 4857-5143
> Tel: 55 +11 2373-7625
> Skype: ailton.zacarias
> Msn: ailtonzsilva em gmail.com
> 
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20130912/b3ca0cde/attachment-0001.html>


Mais detalhes sobre a lista de discussão Rio-pm