Net::SMTP und smtp.web.de
hilker
- perl
Hallo erstmal!
Ich versuche irgendwie den Server smtp.web.de mit Perl via Net::SMTP anzusprechen. Leider gelingt mir das nicht so recht.
Folgende Fehler treten auf:
Oder
2) Receive error: "550 <xxxxx> xxxxx bitte SMTP-AUTHentifizierung benutzen/use SMTP-AUTH please"
Wenn ich Username & Passwort mitgebe.
Wie überrede ich Net::SMTP dazu Auth zu können?
Ich kenne das Modul HTTP::Auth, http ist aber nicht gefragt hier!
Hat jemand 'ne Idee? Ich hab echt keinen Plan wo ich ansetzen soll...
Gruß, der Hilker
hi,
Wie überrede ich Net::SMTP dazu Auth zu können?
ganz einfach:
use Net::SMTP_auth
Beispiel hier:
http://rolfrost.de/mail.html
--roro
hi,
Wie überrede ich Net::SMTP dazu Auth zu können?
ganz einfach:
use Net::SMTP_authBeispiel hier:
http://rolfrost.de/mail.html--roro
Ja vielen Dank! Ist ja abgesehen von der smtp->auth obj. genau wie NET::SMTP...
leider klappt's nicht :-(
Mein Test-script wie folgt:
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
use Net::SMTP_auth;
my $smtp = Net::SMTP_auth->new("smtp.web.de") or print "Hell!";
$smtp->auth('LOGIN', '%myusername', '%mypasswort') or print "not auth";
my $to = ""; (siehe *)
my $from = "";
$smtp->mail();
$smtp->to($to);
$smtp->data();
$smtp->datasend("To: $to\n");
$smtp->datasend("From: $from\n");
$smtp->datasend("Subject: Tach gesacht\n\n"); # end header
$smtp->datasend("Nur ein kleener Test!\n");
$smtp->dataend();
$smtp->quit;
print "sent!";
* mailadressen wie in der perldoc Net::SMTP "username"@domain
verschickt wird aber nichts! Und nu?
hi,
Mein Test-script wie folgt:
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
use Net::SMTP_auth;my $smtp = Net::SMTP_auth->new("smtp.web.de") or print "Hell!";
frag mal die auth_types ab:
...kann sein dass bei Dir was anderes steht.
$smtp->auth('LOGIN', '%myusername', '%mypasswort') ....
das dann ^hier einsetzen
--roro
frag mal die auth_types ab:
Testen der auth_types
printf("%s\n", join("\n", $smtp->auth_types));
LOGIN
PLAIN
XYMCOOKIE
...kann sein dass bei Dir was anderes steht.
Hab ich bereits! PLAIN und LOGIN...
PLAIN geht natürlich nicht, und LOGIN ist OK, also keine Fehlermeldung, sofern ich die korrekten Benutzerdaten eingebe...
:-/
frag mal die auth_types ab:
Testen der auth_types
printf("%s\n", join("\n", $smtp->auth_types));
LOGIN
PLAIN
XYMCOOKIE
...kann sein dass bei Dir was anderes steht.
Hab ich bereits! PLAIN und LOGIN...
PLAIN geht natürlich nicht, und LOGIN ist OK, also keine Fehlermeldung, sofern ich die korrekten Benutzerdaten eingebe...
ähmm,
$smtp->auth('LOGIN', '%myusername', '%mypasswort')...
vielleicht so
$smtp->auth('LOGIN', $myusername, $mypasswort);
--roro
frag mal die auth_types ab:
Testen der auth_types
printf("%s\n", join("\n", $smtp->auth_types));
LOGIN
PLAIN
XYMCOOKIE
...kann sein dass bei Dir was anderes steht.
Hab ich bereits! PLAIN und LOGIN...
PLAIN geht natürlich nicht, und LOGIN ist OK, also keine Fehlermeldung, sofern ich die korrekten Benutzerdaten eingebe...ähmm,
$smtp->auth('LOGIN', '%myusername', '%mypasswort')...
vielleicht so$smtp->auth('LOGIN', $myusername, $mypasswort);
--roro
mhm.. glaube ich nicht, denn warum gibt's nen fehler wenn die Daten nicht korrekt sind... also username &|| passwort
Hell-O!
leider klappt's nicht :-(
Was sagt das ErrorLog?
#!/usr/bin/perl
use strict;
use diagnostics;
my $smtp = Net::SMTP_auth->new("smtp.web.de") or print "Hell!";
Schalte mal den Debug-Modus ein und gib den Accountnamen explizit an:
my $smtp = Net::SMTP_auth->new('smtp.web.de', Hello => 'mailserver.tld', Debug => 1) or print "Hell!";
Ansonsten gibt's zu Net::SMTP (das Basismodul zu Net::SMTP_auth) eine recht gute Anleitung.
Siechfred
Hell-O!
leider klappt's nicht :-(
Was sagt das ErrorLog?
#!/usr/bin/perl
use strict;
use diagnostics;
>
> > my $smtp = Net::SMTP\_auth->new("smtp.web.de") or print "Hell!";
>
> Schalte mal den Debug-Modus ein und gib den Accountnamen explizit an:
>
> `my $smtp = Net::SMTP_auth->new('smtp.web.de', Hello => 'mailserver.tld', Debug => 1) or print "Hell!";`{:.language-Perl}
>
> Ansonsten gibt's zu Net::SMTP (das Basismodul zu Net::SMTP\_auth) eine [recht gute Anleitung](http://thomas-fahle.de/pub/perl/Mail_and_News/SMTP.html).
>
> Siechfred
Hi Siechfred!
Vielen Dank für die Hilfe! Dein Beitrag hat mir hier zum Erfolg verholfen und mich gleich vor das nächste Problem gestellt.
Oder - nennen wir es mal "Herausforderung"... ;)
Das Modul Net::SMTP\_auth ist bei keinem meiner Provider installiert, d.h. ich hab es via 'use lib (pfad) und upload des Moduls eingebunden.
Zunächst wurde 'Authen::SASL' nicht gefunden - einfach auch noch hochgeladen und dann... :-(
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
Fehlermeldung wie folgt:
Software error:
Cannot find a SASL Connection library at Local/Net/SMTP\_auth.pm line 90
For help, please send mail to the webmaster (test@example.org), giving this error message and the time and date of the error.
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
Zeile 90 +- 5 aus der smtp\_auth.pm:
85 pass => $pass,
86 },
87 );
88 return unless $sasl;
89 my $host = ${\*$me}{'net\_smtp\_host'};
90 my $conn = $sasl->client\_new("smtp", $host);#, "noplaintext noanonymous");
91
92 $me->\_AUTH($auth) or return;
93
94 if ( $me->code() == 334 ) {
95
96 if (my $initial = $conn->client\_start)
nu bin ich mit meinem Latein am Ende!
nu bin ich mit meinem Latein am Ende!
Da wirst du deinen Hoster überzeugen müssen, dass er das Modul installiert.
Struppi.
nu bin ich mit meinem Latein am Ende!
Da wirst du deinen Hoster überzeugen müssen, dass er das Modul installiert.
Struppi.
jo, oder feststellen, dass es bei meinem 2.Anbieter auch so klappt! :)
Vielen Dank!
nu bin ich mit meinem Latein am Ende!
Da wirst du deinen Hoster überzeugen müssen, dass er das Modul installiert.
Struppi.
jo, oder feststellen, dass es bei meinem 2.Anbieter auch so klappt! :)
perldiver ist ein nützliches Programm, dass dir einen Teil der Serverkonfiguration anzeigt. Da kannst du vorher schauen ob ein Modul vielleicht schon installiert ist.
Struppi.
Das Modul Net::SMTP_auth ist bei keinem meiner Provider installiert, d.h. ich hab es via 'use lib (pfad) und upload des Moduls eingebunden.
Das wird so nur bei den wenigsten Modulen funktionieren, namentlich nur bei denen, die in reinem Perl geschrieben sind und nur Standardmodule erfordern.
nu bin ich mit meinem Latein am Ende!
Die einzige Lösung hat dir Struppi schon genannt.
Siechfred