#!/usr/bin/perl print "Content-Type: text/html\n\n"; print "<HTML>\n<HEAD>\n"; use strict; &send_mail( 'returnadresse@server.com', 'empfaenger.adresse@seinserver.com', 'absenderadresse@meinserver.com', 'Subject', 'Mailtext' ); print "OK, Mail versandt..."; sub send_mail{ local *SENDMAIL; my $ok=''; my $SENDMAIL=''; my $returnadresse=shift; my $to=shift; my $from=shift; my $subject=shift; my $mailtext=shift; # gültige Zeichen in Mailadressen sind: # a-z A-Z 0-9 _ \- \+ \* \$ \. \@ # falls andere Zeichen auftreten -> STOPP die ('wrong returnadresse') if ($returnadresse=~ /[^a-zA-Z0-9_\-\+\*\$\.\@]/); die ('wrong to:') if ($to=~ /[^a-zA-Z0-9_\-\+\*\$\.\@]/); die ('wrong from:') if ($from=~ /[^a-zA-Z0-9_\-\+\*\$\.\@]/); die ('no mailtext') if ($mailtext eq ''); die ('no subject') if ($subject eq ''); die ('wrong subject') if ($subject=~ /[\n\0\t\r\0\|]/); my @sendmails=( '/usr/sbin/sendmail', '/usr/bin/sendmail', '/usr/lib/sendmail' ); # prüfen, wo sendmail sich befindet foreach (@sendmails){ if (open (SENDMAIL,"|$_ -t")){ $SENDMAIL=$_; close SENDMAIL; last; } } die ('Can not find sendmail!!!') if ($SENDMAIL eq ''); open (SENDMAIL,"|$SENDMAIL -t -f $returnadresse") || die('can not open sendmail'); print SENDMAIL <<EOF; To: $to Subject: $subject From: $from Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit $mailtext EOF close SENDMAIL; } |
To: $to Subject: $subject From: $from |
cc: $cc bcc: $bcc |