Schrift
[thread]8940[/thread]

Mail::Sender - Emails kommen teilweise an: Mail erreicht nicht immer den Empfänger

Leser: 2


<< |< 1 2 >| >> 17 Einträge, 2 Seiten
Gast Gast
 2007-04-24 13:17
#76158 #76158
Hallo,

folgende Situation: ein HTML-Formular wird ausgefüllt und diese Eingaben sollen per Perl-Skript ausgewertet (d.h. überprüft werden - klappt soweit) und dann per Email an einen festen Empfänger und als Kopie an den Absender geschickt werden.

Die Sache ist nun folgende: im Grunde funktioniert das Skript, aber immer wieder (sporadisch und nicht repoduzierbar) kommen die Emails nicht an. Das äußert sich folgendemaßen: User füllt Formular aus und klickt auf "abschicken", dann passiert lange Zeit (>1:30 min) nichts und dann erscheint eine / meine Bestätigung, dass die Eingaben verarbeitet und eine Email versandt wurde. Das ist aber nicht der Fall, die Email erreicht keinen. Weder den Empfänger (mich) noch als Kopie den Absender (die Person, die das Formular ausgefüllt hat).

Anbei der Code-Ausschnitt zum Mailversenden:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
my $sender = new Mail::Sender ({
smtp => 'IP des Mailservers ', # habe ich hier im Forum ersetzt
from => $email}); #Absender / Person die Form ausgefüllt hat


my $mailtext = "Danke,
folgende Daten wurden empfangen...."; # gekürzt, hier werden alle POST-Variablen aufgelistet.

my $mail = "ich\@meineDomain.de";
my $subject = "Betreff";

$sender->MailMsg({to => $mail, subject => $subject, msg => $mailtext})
or die "$Mail::Sender::Error\n\nEs ist der Fehler \"mailsenden\" aufgetreten.\n";


Die Sache treibt mich in den Wahnsinn, weils halt in 80 % der Fälle läuft und dann auf einmal wieder nicht. Der Mailserver und der Webserver haben kein Problem - habe den Support schon mehrmals angerufen/angeschrieben. Die Plattformen laufen ohne Problem. Es muss also schon an meinem Skript liegen.

Aber ich sehe in dem Code keinen Fehler. Was mich dann immer an der Aussage der Support-Abteilung (der Server hat kein Problem) zweifeln lässt. Vielleicht kann hier jemand die Korrekheit meines Code-Schnippsels bestätigen, dann habe ich wenigstens Gewissheit.

Danke
Christian
GwenDragon
 2007-04-24 13:57
#76159 #76159
User since
2005-01-17
14554 Artikel
Admin1
[Homepage]
user image
Und welche Fehlermeldung kommt nun, wenn was nicht geht?
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

Nali
 2007-04-24 14:43
#76160 #76160
User since
2007-04-24
6 Artikel
BenutzerIn
[default_avatar]
Das ist ja das Problem: ich bekomme gar keine Fehlermeldung.
Die Person, die das Formular ausfüllt drückt auf "Abschicken", dann dauert es sehr lange und dann erscheint eine Bestätigung (den Code habe ich jetzt nicht beigefügt, folgt aber direkt nach dem Mail-Code), das alle korrekt verarbeitet wurde und eine EMail an den Nutzer verschickt wurde.

Für den Nutzer ist damit augenscheinlich alles in Ordnung, aber es wurde und werden keine Emails den Absender und ich mich erreichen.
bloonix
 2007-04-24 14:47
#76161 #76161
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Salute,

du könntest Debugging einschalten:

debug => "/path/to/debug/file.txt"

weitere Infos hierzu gibt es in der Dokumentation von CPAN:Mail::Sender.

Gruss,
opi
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Nali
 2007-04-24 15:46
#76162 #76162
User since
2007-04-24
6 Artikel
BenutzerIn
[default_avatar]
Hi,

habe das debugging eingeschaltet:
Code: (dl )
1
2
3
4
5
$sender = new Mail::Sender ({
smtp => 'smtp.muc',
from => $email,
debug => "debugging.txt",
debug_level => '1'});


Wird eine EMail erfolgreich abgeschickt, enthält die debugging.txt den üblichen Verkehr zwischen Client Server. Aber jetzt kommts: wird die Email nicht abgeschickt und es kommt nach langer Zeit einfach die Bestätigung, wurde in die debugging.txt auch NICHTS geschrieben.

Es scheint so, also würde der Code-Teil der Email-Versendung gar nicht ausgeführt - gerade im Fehlerfall müsste die debugging.txt doch wertvolle Info enthalten.
GwenDragon
 2007-04-24 15:47
#76163 #76163
User since
2005-01-17
14554 Artikel
Admin1
[Homepage]
user image
Wieso brauchst du keine Authentifizierung für den SMTP-Server?
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

bloonix
 2007-04-24 15:57
#76164 #76164
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Du hast das niedrigste Debuglevel eingeschaltet. Wenn das nichts liefert,
dann versuch es mit dem höchsten Level.
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Nali
 2007-04-24 16:14
#76165 #76165
User since
2007-04-24
6 Artikel
BenutzerIn
[default_avatar]
Hi,

habe das debugging jetzt auf "full" gestellt. Habe eine interessante Feststellung gemacht. Ich nutze jetzt den lokalen Mailserver auf dem Webserver selber:

Code: (dl )
1
2
3
4
5
$sender = new Mail::Sender ({
smtp => 'localhost', # jetzt lokaler Mailserver
from => $email,
debug => "debugging".time().".txt", # individueller Name für jede Log-Datei
debug_level => '4'});


Jetzt tritt der Fehler offenbar nicht mehr. Kann es sein das die direkte Kommunikation mit einem externen Mailserver (auf einem anderen Server, aber im lokalen Netz - daher auch KEINE Authentifizierung) fehleranfällig ist? Im Manual vom Mail::Sender steht ja auch:
Quote
This is the name of your LOCAL mail server, do NOT try to contact directly the adressee's mailserver! That would be slow and buggy, your script should only pass the messages to the nearest mail server and leave the rest to it. Keep in mind that the recipient's server may be down temporarily.


Slow => nach Klick auf Abschicken dauert es Ewigkeiten bis es weiter geht

Buggy => nicht alle Emails kommen an

Was meint ihr?
GwenDragon
 2007-04-24 16:47
#76166 #76166
User since
2005-01-17
14554 Artikel
Admin1
[Homepage]
user image
Ja, es kommt davon oder davon.

Wie schön, dass dein Debug-Log immer noch dein Geheimnis bleibt.
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

bloonix
 2007-04-24 16:56
#76167 #76167
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Haben Drachen keine Wahrsagerfähigkeiten?

Aber es wird doch bestimmt eine Glaskugel irgendwo in deinem
Goldhaufen zu finden sein? :p\n\n

<!--EDIT|opi|1177419424-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
<< |< 1 2 >| >> 17 Einträge, 2 Seiten



View all threads created 2007-04-24 13:17.