Am Samstag, 31. März 2001 17:53 schrieb Manfred G.:
Hallo zusammen, ich habe gerade ein cgi-Script installiert welches auch eMail´s verschickt. In dem Script soll ich den Pfad zu sendmail angeben.
Ich habe /usr/sbin/sendmail eingetragen.
Auf meinem Server läuft SuSE 7.1 Das cgi verschickt aber keine Mails.
Muß ich irgend eine Option bei sendmail hinzufügen? Wie kann ich überprüfen, ob mein sendmail überhaupt mails versenden kann?
vermutlich Perl als CGI-Sprache oder? Die frage gehört eher auf eine perl mailingliste. aber egal: Nimm am besten ein Modul vom CPAN wie Mail::MailTools aber wenn du selber basteln willst: habe mal aus einem script von mir die mailroutinen rausgeschnitten. gruaenhafter code, aber zum rumstöbern reicht es. die sub routine attachme habe ich nicht mitgeschickt. wennd u sie auch noch haben willst, sag bescheid. du mußt im hauptprogramm noch SENDMAIL_PATH setzen -t brauchst du, damit sendmail die empfänger aus dem mailheader rausfiltert wichtig ist, daß du close MAIL abfragst, da ein Pipe Error immer erst hier festgestellt wird. sub mail { my ($from, $to, $bcc, $subject, $text, $attachment) = @_; my $mailtext; $mailtext = <<" EOF"; To: $to BCC: $bcc Subject: $subject EOF if ($attachment) { $mailtext .= attachme($attachment, $text) } else { $mailtext .= "\n\n$text"; } open (MAIL, "| $SENDMAIL_PATH -oi -t") or save_error("Konnte Mailpipe nicht öffnen $!"); print MAIL $mailtext; close MAIL or save_error("Konnte Mailpipe nicht öffnen!"); }