Connecting Tech Pros Worldwide Forums | Help | Site Map

i need help with my mail script

shror
Guest
 
Posts: n/a
#1: Feb 19 '07
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


Ken Robinson
Guest
 
Posts: n/a
#2: Feb 19 '07

re: i need help with my mail script


"shror" <shahirwm@gmail.comwrote in news:1171898875.188006.234860
@p10g2000cwp.googlegroups.com:
Quote:
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
Quote:
<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'];

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

$from = "From: youremailaddres@s7els7.com";
Quote:
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
shror
Guest
 
Posts: n/a
#3: Feb 19 '07

re: i need help with my mail script


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: email@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

Klarth
Guest
 
Posts: n/a
#4: Feb 20 '07

re: i need help with my mail script


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:
Quote:
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

shror
Guest
 
Posts: n/a
#5: Feb 21 '07

re: i need help with my mail script


On Feb 20, 6:11 am, "Klarth" <kah....@gmail.comwrote:
Quote:
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:
>
>
>
Quote:
Hi Ken,
First of all i'd like to thank you so much for offering me help
>
Quote:
then about the onsubmit i have removed it now
>
Quote:
and in the mail.php page i have made some changes as you told me
the new code is:
>
Quote:
<?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 {
>
Quote:
echo "<h4>Can't send email to $email</h4>";}
>
Quote:
?>
>
Quote:
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.
>
Quote:
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

Closed Thread