By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
437,712 Members | 2,174 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 437,712 IT Pros & Developers. It's quick & easy.

i need help with my mail script

P: n/a
dear all,

i have started learning php 2 weeks ago and i have wrote my first
script for mail sender and the script takes all my data and move to
the thanks page but the problem is that the mails never comes, so i
need your help with me, and here is my script:

mail.htm code:

<form method="POST" action="mail.php" onSubmit="">
<p>email <input type="text" name="email" size="20"></p>
<p>subject <input type="text" name="subject"></p>
<p>message<textarea rows="2" name="message" cols="20"></textarea></
p>
<p><input type="submit" value="Submit" name="B1"><input type="reset"
value="Reset" name="B2"></p>
</form>
mail.php code:

<?php
$email = $HTTP_POST_VARS['email'];
$subject = $HTTP_POST_VARS['subject'];
$msg = $HTTP_POST_VARS['message'];
$from = "s7els7.com";
if (mail($email,$subject,$message,$from)) {
echo "<h4>Thank you for sending email</h4>";
} else {
echo "<h4>Can't send email to $mail</h4>";
}
?>
now please tell me whats wrong with this scripts as i am still trying
to learn the php and i need an expert help.
you can check my script working at www.s7els7.com/mail.htm

thanks

shror

Feb 19 '07 #1
Share this Question
Share on Google+
4 Replies


P: n/a
"shror" <sh******@gmail.comwrote in news:1171898875.188006.234860
@p10g2000cwp.googlegroups.com:
dear all,

i have started learning php 2 weeks ago and i have wrote my first
script for mail sender and the script takes all my data and move to
the thanks page but the problem is that the mails never comes, so i
need your help with me, and here is my script:

mail.htm code:

<form method="POST" action="mail.php" onSubmit="">
You don't need the onSubmit attribute if there is nothing to do
<p>email <input type="text" name="email" size="20"></p>
<p>subject <input type="text" name="subject"></p>
<p>message<textarea rows="2" name="message" cols="20"></textarea></
p>
<p><input type="submit" value="Submit" name="B1"><input type="reset"
value="Reset" name="B2"></p>
</form>
mail.php code:

<?php
$email = $HTTP_POST_VARS['email'];
$subject = $HTTP_POST_VARS['subject'];
$msg = $HTTP_POST_VARS['message'];
You want to use the $_POST superglobal array here not the old
$HTTP_POST_VARS array.

$email = $_POST['email'];
$subject = $_POST['subject'];
$msg = $_POST['message'];

$from = "s7els7.com";
The "From" header needs to be formated correctly:
"From: va***@emai.address.here";

$from = "From: yo*************@s7els7.com";
if (mail($email,$subject,$message,$from)) {
echo "<h4>Thank you for sending email</h4>";
} else {
echo "<h4>Can't send email to $mail</h4>";
}
?>
Leaving your script like this, you are opening yourself up to spammers
finding your form and using it to do all sorts of spamming.

You should read this
<http://www.nyphp.org/phundamentals/email_header_injection.phparticle
on preventing Email Header Injection Exploits.

Ken
Feb 19 '07 #2

P: n/a
Hi Ken,
First of all i'd like to thank you so much for offering me help

then about the onsubmit i have removed it now

and in the mail.php page i have made some changes as you told me
the new code is:

<?php
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$from = "From: em***@s7els7.com";
$t = "shahirwm";
$o = "@gmail.com";
$to = $t . $o;
if (mail($email,$subject,$message,$from,$to)) {
echo "<h4>Thank you $email for sending $to this email</h4>";
} else {
echo "<h4>Can't send email to $email</h4>";
}
?>
i have made the $from as you said and almost every thing but still i
cant get any mails from this script so please help me once more how to
fix it and where is my problem.
thanks once more for your help
the form URL is: www.s7els7.com/mail.htm

Feb 19 '07 #3

P: n/a
I think there is a mistake in your arguments. From the manual, the
order is:

bool mail ( string $to, string $subject, string $message [, string
$additional_headers [, string $additional_parameters]] )

Why do you pass $email as your first argument and $to as your last
argument? I suggest trying mail($to,$subject,$message,$from) first.

Another thing to check is your PHP mail configuration, if you are
running your own server. The details are in the PHP manual:
http://www.php.net/manual/en/ref.mail.php. But this applies if you are
running PHP off your own computer.

On Feb 20, 7:11 am, "shror" <shahi...@gmail.comwrote:
Hi Ken,
First of all i'd like to thank you so much for offering me help

then about the onsubmit i have removed it now

and in the mail.php page i have made some changes as you told me
the new code is:

<?php
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$from = "From: e...@s7els7.com";
$t = "shahirwm";
$o = "@gmail.com";
$to = $t . $o;
if (mail($email,$subject,$message,$from,$to)) {
echo "<h4>Thank you $email for sending $to this email</h4>";} else {

echo "<h4>Can't send email to $email</h4>";}

?>

i have made the $from as you said and almost every thing but still i
cant get any mails from this script so please help me once more how to
fix it and where is my problem.

thanks once more for your help
the form URL is:www.s7els7.com/mail.htm

Feb 20 '07 #4

P: n/a
On Feb 20, 6:11 am, "Klarth" <kah....@gmail.comwrote:
I think there is a mistake in your arguments. From the manual, the
order is:

bool mail ( string $to, string $subject, string $message [, string
$additional_headers [, string $additional_parameters]] )

Why do you pass $email as your first argument and $to as your last
argument? I suggest trying mail($to,$subject,$message,$from) first.

Another thing to check is your PHP mail configuration, if you are
running your own server. The details are in the PHP manual:http://www.php.net/manual/en/ref.mail.php. But this applies if you are
running PHP off your own computer.

On Feb 20, 7:11 am, "shror" <shahi...@gmail.comwrote:
Hi Ken,
First of all i'd like to thank you so much for offering me help
then about the onsubmit i have removed it now
and in the mail.php page i have made some changes as you told me
the new code is:
<?php
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$from = "From: e...@s7els7.com";
$t = "shahirwm";
$o = "@gmail.com";
$to = $t . $o;
if (mail($email,$subject,$message,$from,$to)) {
echo "<h4>Thank you $email for sending $to this email</h4>";} else {
echo "<h4>Can't send email to $email</h4>";}
?>
i have made the $from as you said and almost every thing but still i
cant get any mails from this script so please help me once more how to
fix it and where is my problem.
thanks once more for your help
the form URL is:www.s7els7.com/mail.htm- Hide quoted text -

- Show quoted text -
Thank you Klarth for your note, it was correct and it fixed my form,
now its working fine, but i just need one more thing which is how i
set the X-mailer to be someting i do configer, is it possible or not
thanks so much for your help once more and for the help of every body.

shror

Feb 21 '07 #5

This discussion thread is closed

Replies have been disabled for this discussion.