PDA

View Full Version : Newbie: Creating a simple php form email, how?


mancho
23rd June 2006, 19:29
Sorry if answered, I couldn't find it.

I need to create a simple "send form" that processes an email (its sent to a remote listserv).

I couldn't get it to work with this:

<?php
$to = "listserv-on@mail.baskins.com";
$subject = "Baskins Email Signup";
$from = "txtEmail";
if (mail($to, $subject, $from)) {
echo("<p>Message successfully sent!</p>");
} else {
echo("<p>Message delivery failed...</p>");
}
?>

What am I doing wrong? THe form is here: http://www.baskins.com/email_sign_up.html

and posts to:
http://www.baskins.com/emailprocess.php

thanks for any assistance. I'm using ISPConfig and I LOVE IT!

mancho

geek.de.nz
24th June 2006, 04:46
Maybe you don't have 'register_globals = On' in your php.ini, which would make this not work.

However, you can access form variables with

$txtEmail = $_GET['txtEmail'];
// or
$txtEmail = $_POST['txtEmail'];

depending on the method of the form (default GET). You should use POST for a lot of data, so e.g. if you're sending a text-area values.

The mail syntax looks right for me.

falko
24th June 2006, 16:17
if (mail($to, $subject, $from)) {

Your usage of the mail function is wrong. Have a look here: http://de.php.net/manual/en/function.mail.php

themachine
8th August 2006, 17:07
Yes, Falko is right... the following is the basic usage of mail():


<?php

$my_addy = "user@domain.com";
$to_addy = "otheruser@otherdomain.com";
$subject = "Test Subject";
$message = "Test Message";

$headers = "From: $my_addy \r\n";
$headers .= "Reply-To: $my_addy \r\n";
$headers .= "Return-Path: $my_addy \r\n";

mail ($to_addy,$subject,$message,$headers);

?>



If you wanted to check the return of mail(), you could make it:


...
if(mail($to_addy,$subject,$message,$headers)) {
print "Mail sent OK";
} else {
print "Mail did not send properly";
}
...



But this is only checking whether "mail()" returned without error.... it has nothing to do with whether the email got anywhere successfullly.