Robbie Staufer wrote:
> Hi,
>
> I have a perl script that takes in form data and generates and email
> with the data to be sent to me.  I'm getting the error message
>  Error:Bad or missing From address: '$from_address'.  The webmaster says
> I'm using the correct from address, so, any ideas about this error message?

Hi Robbie.

You have a from address of literally '$from_address'. I think your webmaster
is wrong! See below.

> Here's what I have:
>
> ### send mail #####
>
> $from_address = "[EMAIL PROTECTED]";
> $to_address = "[EMAIL PROTECTED]";
> $subject = "ESMF Registration Form";
>
> %mail = (
>         SMTP    => 'finster.scd.ucar.edu',
>         from    => '$from_address',
>         to      => '$to_address',
>         subject => '$subject',
>         );

Using single quotes will prevent the scalar variables from being
expanded. These lines should be:

%mail = (
        SMTP    => 'finster.scd.ucar.edu',
        from    => "$from_address",
        to      => "$to_address",
        subject => "$subject",
        );

The name of the SMTP server will be OK with either single
or double quotes as there's nothing to expand in there.

> $mail{body} = <<END_OF_BODY;
>
> First Name: $fname
> Last Name: $lname
> Email: $email
> Organization: $org
> Scientific Interest: $sci_int
> Mailing List? $check

A 'here' document (which this is) works as if it is in double
quotes by default. You could change it to single-quote
working by putting the end tag in single quotes:

    $mail{body} = <<'END_OF_BODY';

But don't, because that's not what yuo want!


> sendmail(%mail) || print "Error: $Mail::Sendmail::error\n";

HTH,

Rob




-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to