http://qs321.pair.com?node_id=437258

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

Hi ever one Iam new to perl, have to write email form in perl, would any one please guide me how to do that, which one is best prectice, either design html page and add perl coding or generate html dynamicaly in perl, and one could pleas guide me any tutorial related to specific peroblem. thanks sam

Replies are listed 'Best First'.
Re: Email form
by gellyfish (Monsignor) on Mar 07, 2005 at 17:08 UTC

    Whilst I wouldn't want to discourage you from learning Perl , when it comes to form to email programs I would gently guide you toward NMS to find something that has already been done. This wheel has been invented many times before and a lot of mistakes have been made and remedied.

    /J\

Re: Email form
by mpeters (Chaplain) on Mar 07, 2005 at 17:35 UTC
    This is not a prebuilt script but rather a module that you can use to easily build a mailpage: CGI::Application::MailPage.

    Update: - This module helps to build a 'email this page to a friend' form. If you are just looking for a standard 'email this info to an address' then look at CGI::Application::MailForm which comes with CGI::Application.
Re: Email form
by jonadab (Parson) on Mar 07, 2005 at 22:02 UTC

    I always use Mail::Sendmail for the purpose of sending mail. Easy to use, works great.

    As far as generating the HTML, for this you can probably just embed entire web pages into heredocs, so that your web pages are *almost* static, but then you can just interpolate any particulars you need. That technique will not be adequate for more complicated purposes, when the page needs to be more fully dynamic, but here you've basically only got two or three pages: a form for the user to fill in, a "sent" message, and possibly a "failed" message. They don't need to change much, other than (say) interpolating an error message.

    Update: Be sure to hardcode the To: address, so that spammers can't abuse your script to send to arbitrary recipients.

A reply falls below the community's threshold of quality. You may see it by logging in.