Hi,

I have the original forrmail.pl from Matt Wright. It submits the information
from the html form by e-mail. I also want it to send a confirmation e-mail
to a user that filled out a form. I have the code for Unix, but not Windows.
Here's the difference. Under Unix version e-mail in the .pl file is sent
like this:
        open (MAIL, "|$mailprogram -t");
                print MAIL "To: $sender\n";
                and so on...
        close(MAIL);
Where in Windows all that e-mail info is being temporarly stored in buffer
and then win32::process (it has all the header information - to, from,
subject) is created to send that e-mail. In my code there is send_email
procedure and then send_confirmation. Here is what happens: confirmation
e-mail is being sent to both places. It looks like the temp file holding the
e-mail info is being changed faster than the first process (for send_mail)
can process the original temp file info. Here is the code for win32 process:
        #'use' the process module.
        use Win32::Process;
        
        #theWin32:: module. Includes the Win32 error checking etc.
        # see Win32:: section for included functions.
        use Win32;
        
        sub Error{ 
        print Win32::FormatMessage( Win32::GetLastError() );
        }
        #Create the process object.
        Win32::Process::Create($ProcessObj, $mailprog, "Blat
$tempdir\\tempfile -t $Config{'recipient'} -s \"$Config{'subject'}\" -f
$Config{'email'} -i \"$Config{'email'} ($Config{'realname'})\"", 0,
DETACHED_PROCESS, ".")|| die &Error; 
        #Set the process priority
        #$ProcessObj->SetPriority(NORMAL_PRIORITY_CLASS)||die &Error;

        #Wait for the process to end. NO timeout 
        $ProcessObj->Wait(0);

#open(MAIL,"|$mailprog $tempdir\\tempfile -t $Config{'recipient'} -s
\"$Config{'subject'}\" -i \"$Config{'email'} ($Config{'realname'})\" -f
$Config{'email'}") || die("Cannot execute $mailprog -- Check mailprog path
and permissions : $!"); 
#close(MAIL);

What should I do to make sure that it send first e-mail before it replaces
the info in the temp file with the new content.

Thanks,
Ksenia.

Reply via email to