Das Notes Forum

Domino 9 und frühere Versionen => ND6: Administration & Userprobleme => Thema gestartet von: milea am 29.03.10 - 21:06:33

Titel: mail() - funktion
Beitrag von: milea am 29.03.10 - 21:06:33
Hallo und schönen Guten Abend!

Zuerst einmal: Ich habe sogut wie keine Ahnung von Lotus-Systemen.

Und deshalb eine Frage:
Ich habe einen Formmailer in perl für einen Kunden geschrieben.
Der Kunde hostet seine Website auf einen Lotus Domino Server 6.
Bei Testen der Website und beim Absenden des Formulars wurde leider keine mail empfangen.
Nun weiß ich nicht woran es liegt, ich vermute aber mal am sendmal-Pfad in der Perl Datei

Normalerweise nimmt man bei formmailern in perl:
Code
$Sendmail= "/usr/lib/sendmail"; 

bei Unix sytemen

Wie sieht denn das ganze bei einem Lotus server aus?

ich hoffe ich bin hier richtig in diesen teil des Forums.
Titel: Email mittels perl-Script über Domino Server versenden
Beitrag von: milea am 01.04.10 - 10:53:27
Hallo an alle!

Leider konnte mir bei meinem Problem bis jetzt noch keiner helfen - aber vielleicht wars auch blöd formuliert.

Ich habe ein perl-script geschrieben, mit dem ich ein html-formular versenden möchte. Leider kommt keine mail an- aber das Perl-Script wird interprtiert, da es mich an die dort definierte request-Seite nach dem Absenden des Formulars weiterleitet.  Allerdings weiß ich nun, dass Lotus Domino Server kein sendmail als SMTP Programm haben.

Aber leider konnt mir bis jetzt auch keiner sagen, wie es dort funktioniert.
Wie bringt man Lotus und perl zusammen? Das Perl-Script liegt im cgi-bin -Ordner.
Und wie gesagt, es wird auch ausgeführt - zum Teil. Aber es sendet keine mail.

Bis jetzt habe ich den Pfad zum SMTP-Programm wie folgt angegeben:

$Sendmail_Prog = "/usr/lib/sendmail";

Vielen Dank schonmal für die Hilfe :)
Titel: Re: mail() - funktion
Beitrag von: WildVirus am 01.04.10 - 11:03:15
Hallo an einen Namenlosen,

warum so umständlich ? Kann Perl keine SMTP-Mails versenden ?

Wenn auf dem Domino SMTP aktiviert ist, kannst Du ihn -wie jeden anderen SMTP-Server- ansprechen.

CU,
Axel
Titel: Re: mail() - funktion
Beitrag von: milea am 01.04.10 - 11:21:39
Hallo!


Also perl kann SMTP versenden.

Und SMTP ist auf dem Server aktiviert - davon gehe ich jetzt mal aus. Aber dennoch kann ich darüber nichts versenden weil mir keiner sagen kann, welcher Pfad beim Lotus Server zu dem SMTP-Programm führt. Denn das perl-script braucht denn ja um das Senden auszuführen. Also ich weiß nicht, wie man das SMTP-Programm in der perl-datei ansprechen soll.

Oder versteh ich was verkehrt?


Hier mal ein teil meines perl-script
Code
#!/usr/bin/perl

# --> SMTP-Programm zum Versenden der Mail:
$Sendmail_Prog = "/usr/lib/sendmail";

# --> Ziel-Mailadresse, an die gesendet werden soll:
$mailto = 'milea@server.de';

# -------> E-Mail versenden:
open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werden\n";
print MAIL "To: $mailto\n";
print MAIL "Content-Type: text/html\n";
print MAIL "Subject: $subject\n\n";
print MAIL "<b>Ein Nutzer hat Ihnen folgende Angaben im Onlineformular geschickt:</b><br><br>";


close(MAIL);

# -------> Dankeseite an Browser senden:
print "Location: $returnhtml\n\n";




Titel: Re: mail() - funktion
Beitrag von: WildVirus am 01.04.10 - 11:29:01
Hallo Namenloser,

wenn perl SMTP versenden kann, dann mach es doch.

Du willst immer ein Programm aufrufen, aber das ...P steht für Protokoll, nicht für Programm. Sprich den Domino über SMTP an, dann antwortet er Dir, vorausgesetzt, die Funktion ist aktiviert. Muss aber nicht sein !

CU,
Axel
Titel: Re: mail() - funktion
Beitrag von: milea am 01.04.10 - 11:38:26
Ok, ich hatte bis jetzt sowas immer mit php gelöst. Und dann auf einen Unix oder Apache Server gelegt. Darauf war das sendmail installiert und es ging.

Aber mit einem Domino server arbeite ich zum ersten Mal.

Also das soll heißen, ich weiß nicht, was du meinst mit "Sprich den Domino über SMTP an, dann antwortet er Dir"

Wie stell ich das an? Muss ich das was in meienr Perl-datei ändern? ich nehms ja mal an... :)

vg, milea
Titel: Re: mail() - funktion
Beitrag von: m3 am 01.04.10 - 11:47:26
Ach herje. Diese uralten "Formmailer", die ein externes Programm benötigen, um SMTP-Mails zu versenden. Eine Katastrophe.

1) Der Lotus Domino Server liefert kein Programm zum Versenden von SMTP-Mails von der Kommandozeile aus mit, sondern geht davon aus, dass sich die Anwendungen selber drum kümmern.

2) Das Problem mit sendmail et.al. ist, dass diese Programme alle nicht über TCP/IP Sockets und SMTP mit den SMTP-Servern wie sendmail, exim, postfix oder Domino sprechen, sondern die Mails gleich direkt in deren Queues ablegen.
Du brauchts daher ein Tool wie etwa mailsend (http://www.muquit.com/muquit/software/mailsend/mailsend.html) oder sendmail.pl (http://www.perlmonks.org/?node_id=110261), welche Mails "ordentlich" über TCP/IP und SMTP versenden.
Titel: Re: mail() - funktion
Beitrag von: milea am 01.04.10 - 12:08:59
Oha - damit muss ich mich jezt mal näher befassen. Also müsste mein Formmailer erstmal auf sendmail.pl bzw. mailsend zugreifen um etwas zu versenden.

Wieso sind Formmailer uralt? Ich dachte das wär der gängige Weg? Was gibts denn noch für eine Lösung?
Titel: Re: mail() - funktion
Beitrag von: m3 am 01.04.10 - 12:21:30
Oha - damit muss ich mich jezt mal näher befassen. Also müsste mein Formmailer erstmal auf sendmail.pl bzw. mailsend zugreifen um etwas zu versenden.
Ist ja jetzt auch nicht anders, nur heißt das Programm halt "sendmail".

Und nein, Formmailer sind nicht "alt" per se.
Aber wenn sie anstelle von Net::SMTP (http://search.cpan.org/~gbarr/libnet-1.22/Net/SMTP.pm) oder Mail::Sender (http://search.cpan.org/~jenda/Mail-Sender-0.8.16/Sender.pm) oder Mail::Mailer (http://search.cpan.org/~markov/MailTools-2.06/lib/Mail/Mailer.pod) noch immer externe Programme brauchen, dann sind sie alt.