Schrift
[thread]487[/thread]

sendmail mit FileHandle benutzen?



<< >> 8 Einträge, 1 Seite
pktm
 2005-04-29 18:29
#4901 #4901
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Ich benutze sendmail so:
Code: (dl )
1
2
3
4
5
6
7
8
    my $sendmailProg = $self->param('sendmail') || $defaults{'sendmail'};
   open(MAIL,"|$sendmailProg -t") or  $fehler = 1;
       unless( $fehler ){
       print MAIL "To: ".$self->param('FeedbackEmpfaenger')."\n";
       print MAIL "Subject: ".$self->param('FeedbackBetreff')."\n\n";
       print MAIL "$sendText\n";
       close(MAIL) or $fehler = 1;
   }


Folglich dürfte es doch eiegntlich kein Problem darstellen wenn ich sendmail mit FileHandle, also objektorientiert benutze - oder?

Wie macht ihr das?
mfg pktm

EDIT: Kann es nicht ausprobieren, weil ich unter Windows kein sendmail habe...\n\n

<!--EDIT|pktm|1114801705-->
http://www.intergastro-service.de (mein erstes CMS :) )
pq
 2005-04-30 12:44
#4902 #4902
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
MAIL *ist* ein filehandle.
ich versteh dein problem nicht, kannst du nicht mal den code posten,
an dem du zweifelst?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
coax
 2005-04-30 16:20
#4903 #4903
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
[quote=pktm,29.04.2005, 16:29]Folglich dürfte es doch eiegntlich kein Problem darstellen wenn ich sendmail mit FileHandle, also objektorientiert benutze - oder?[/quote]
Die Probleme koennten dann auftreten, wenn (vorrausgesetzt $self ist ein CGI-Objekt) deine User etwas anderes als sendmail-Programm als Parameter uebergeben.
,,Das perlt aber heute wieder...'' -- Dittsche
renee
 2005-04-30 16:26
#4904 #4904
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@pq: Ich nehme an, pktm will so etwas machen wie
Code: (dl )
my $mail = new FileHandle "/usr/sbin/sendmail";
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pq
 2005-04-30 19:13
#4905 #4905
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
das wird so nicht gehn. aber wieso schaut pktm nicht einfach in die doku?
Code: (dl )
1
2
3
4
5
6
7
           use FileHandle;

$fh = new FileHandle;
if ($fh->open("< file")) {
print <$fh>;
$fh->close;
}

das sollte sich ja leicht auf ein pipe-open übertragen lassen.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
pktm
 2005-04-30 21:17
#4906 #4906
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
[quote=pq,30.04.2005, 10:44]MAIL *ist* ein filehandle.
ich versteh dein problem nicht, kannst du nicht mal den code posten,
an dem du zweifelst?[/quote]
@renee: Genau!

So hätte ich es gerne:
Code: (dl )
1
2
3
4
5
   my  $fh = new FileHandle "/usr/bin/sendmail";
if (defined $fh) {
print $fh "$message\n";
$fh->close;
}


Geht das?
Also anstatt einer Datei enifach das Sendmail-Programm angeben?
Weil, ich finde die objektorientierte Zugriffsweise wesentlich schönder als meinen Code oben (in Beitrag 1).
Es ist aber kein Sing der unmöglichkeit dass ich mich mit der obigen Variante anfreunde ;)

@coax:
$self ist übrigens ein CGI::Application-Objekt.
Der Nutzer übergibt das Programm nicht (um Gottes Willen ^^), und die anderen Angaben stammen aus einem CGI-Objekt und wurden bereits gefiltert in $self abgelegt.
http://www.intergastro-service.de (mein erstes CMS :) )
betterworld
 2005-04-30 22:21
#4907 #4907
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=pktm,30.04.2005, 19:17]
Code: (dl )
   my  $fh = new FileHandle "/usr/bin/sendmail";
[/quote]
Wahrscheinlich musst Du statt "/usr/bin/sendmail" einfach "|/usr/bin/sendmail" schreiben.

Edit: Ignoriert die folgende Bemerkung, denn pktm hat ja schon darauf geantwortet.
Aber Du lässt den Pfad von sendmail doch nicht etwa per CGI vom User angeben? Was machst Du, wenn Dir da jemand stattdessen "/sbin/killall5" angibt?\n\n

<!--EDIT|betterworld|1114885494-->
coax
 2005-04-30 22:44
#4908 #4908
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
[quote=betterworld,30.04.2005, 20:21][quote=pktm,30.04.2005, 19:17][code]
Aber Du lässt den Pfad von sendmail doch nicht etwa per CGI vom User angeben?  Was machst Du, wenn Dir da jemand stattdessen "/sbin/killall5" angibt?
[/quote][/quote]
Den gleichen Verdacht hatte ich auch erst, hihi. :D
,,Das perlt aber heute wieder...'' -- Dittsche
<< >> 8 Einträge, 1 Seite



View all threads created 2005-04-29 18:29.