Beat: [Perl] Net::SMTP_auth

Beitrag lesen

Lt. Doku gibt auth true/false (genauer 1 oder undef) zurück.

So. neueste Version von SASL und SMTP_auth von CPAN geladen.
But: It's the same shit.

Und: auth gibt nüscht zurück, nach wie vor. sowohl lokal (wo das script einwandfrei seinen dienst tut), alsauch im www (wo das gleiche Script einfach keine Mail schicken will... ]:->)

Mist! Hat noch jemand Ideen?

Offenbar war dein Loginversuch valide, aber das Login ist gescheitert. Du bekommst keine Rückmeldung vom fernen Server aus Sicherheitsgründen.

Hast du mal Debug=>1 versucht?

Hier ist der relevante Auszug eines Scriptes, das Sendmail oder SMTP-Mails versendet. Nur mal zum Zeigen, mit was man zu rechnen hat. Dabei behaupte ich noch nicht einmal, dass das Ding auch wirklich immer funzt:

  
#	Sendmail  
if( $self->{config}{sendmailpath} ){  
	#	Teste ob Sendmail verfügbar.  
	open(SM, "|".$self->{config}{sendmailpath}." -oi -t")  
		or return( debug( D_SEND, t('Sendmail lässt sich nicht öffnen') ) );  
	print SM $mailhead, CRLF;  
	print SM $mailbody;  
	close(SM);  
}  
else{  
	#	Wir versuchen einen Versand mit SMTP  
	use Net::SMTP;  
	my $smtp;  
	my $case=0;  
	$smtp = Net::SMTP->new(  
		Hello => $self->{config}{from},  
		Timeout => 5,  
		Debug =>1,  
	)  
	or $self->{config}{smtphost}  
		and ++$case  
		and $smtp = Net::SMTP->new(  
			Host => $self->{config}{smtphost},  
			Hello => $self->{config}{from},  
			Timeout => 5,  
			Debug =>1,  
		)  
	or return( debug(D_SEND, "Keine SMTP Connection") );  
	if( $case and $self->{config}{password} ){  
		$smtp->auth($self->{config}{user}, $self->{config}{password} );  
		$smtp->status() < 5  
		or do {  
			#	Die smtp->auth Methode schlägt fehl, also dann so  
			$smtp->datasend("AUTH LOGIN\n") or die 'auth login';  
			$smtp->response();  
			$smtp->datasend(encode_base64( $self->{config}{user} ) ) or die 'username';  
			$smtp->response();  
			$smtp->datasend(encode_base64( $self->{config}{password} ) ) or die 'password';  
			$smtp->response();  
			$smtp->status() < 5 or $smtp->quit and return( debug(D_SEND,'SMTP-Authorisierung fehlgeschlagen') );  
		};  
	}  
	$smtp->mail( $self->{config}{from} )  
		or $smtp->quit and return( debug(D_SEND,'SMTP-Mail-From fehlgeschlagen') );  
	$smtp->to( $self->{config}{to} )  
		or $smtp->quit and return( debug(D_SEND,'SMTP-Mail-To fehlgeschlagen') );  
	$smtp->data();  
		$smtp->datasend( $mailhead );  
		$smtp->datasend(CRLF);  
		$smtp->datasend( $mailbody );  
		$smtp->datasend(CRLF);  
	$smtp->dataend();  
	$smtp->quit;  
}  

mfg Beat

--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische