http://qs1969.pair.com?node_id=316180

hweefarn has asked for the wisdom of the Perl Monks concerning the following question:

hi :)

this is the php script for send email. it is so simple. how to translate it to perl?

<?php function socketmail($toArray, $subject, $message) { ini_set(sendmail_from, "chfarn@tm.net.my"); $connect = fsockopen (ini_get("SMTP"), 25, $errno, $errstr, 30) or d +ie("Could not talk to the sendmail server!"); $rcv = fgets($connect, 1024); fputs($connect, "HELO {$_SERVER['SERVER_NAME']}\r\n"); $rcv = fgets($connect, 1024); while (list($toKey, $toValue) = each($toArray)) { fputs($connect, "MAIL FROM: chfarn@tm.net.my\r\n"); $rcv = fgets($connect, 1024); fputs($connect, "RCPT TO:$toValue\r\n"); $rcv = fgets($connect, 1024); fputs($connect, "DATA\r\n"); $rcv = fgets($connect, 1024); fputs($connect, "Subject: $subject\r\n"); fputs($connect, "From: hweefarn <chfarn@tm.net.my>\r\n"); fputs($connect, "To: $toKey <$toValue>\r\n"); fputs($connect, "X-Sender: <chfarn@tm.net.my>\r\n"); fputs($connect, "Return-Path: <chfarn@tm.net.my>\r\n"); fputs($connect, "Errors-To: <chfarn@tm.net.my>\r\n"); fputs($connect, "X-Mailer: PHP\r\n"); fputs($connect, "X-Priority: 3\r\n"); fputs($connect, "Content-Type: text/plain; charset=iso-8859-1\r\n" +); fputs($connect, "\r\n"); fputs($connect, stripslashes($message)." \r\n"); fputs($connect, ".\r\n"); $rcv = fgets($connect, 1024); fputs($connect, "RSET\r\n"); $rcv = fgets($connect, 1024); } fputs ($connect, "QUIT\r\n"); $rcv = fgets ($connect, 1024); fclose($connect); ini_restore(sendmail_from); } $toArray = array("Name1" => "0122523803@sms.maxis.net.my", "Name2" => +"hweefarn@yahoo.com"); $subject = "testing php"; $message = "socket mail"; socketmail($toArray, $subject, $message); ?>

thanks a lot :)

ps: pls dont be angry because i posted the whole script. this is actually an aditional information for my last posting.

hweefarn

Edited by Chady -- added code tags, fixed formatting.

Replies are listed 'Best First'.
Re: socket mail : convert php to perl
by castaway (Parson) on Dec 21, 2003 at 13:04 UTC
    And the answer is..

    Mail::Sender, MIME::Lite, Mail::Send .. and so on and so forth..

    Ie, dont rewrite it in Perl, use one of the many modules which already do this.

    C.

Re: socket mail : convert php to perl
by ctilmes (Vicar) on Dec 21, 2003 at 13:03 UTC
    it is so simple. how to translate it to perl?

    What part are you having trouble with? How far have you gotten on the translation?

    You might find Mail::Send useful in your translation.

Re: socket mail : convert php to perl
by b10m (Vicar) on Dec 21, 2003 at 13:11 UTC
    this is the php script for send email. it is so simple.

    Actually, it gets even easier in PHP

    how to translate it to perl?

    I don't get your question. Do you want us to post sample mailing scripts? Or do you want links to CPAN to find some modules, or you might even search for Perl mail or of course use the Super Search

    --
    b10m
Re: socket mail : convert php to perl
by exussum0 (Vicar) on Dec 21, 2003 at 23:15 UTC
    aside from the ini_* functions, everything you have here is directly translatable into perl. So I'm not sure which line you are particularly having trouble with. variable assignments are almost nearly the same ('cept for the hashes), you can replace fputs with fwrites and the stripslashes with a regexp.

    Play that funky music white boy..