What's wrong with this mail() script, though it returns TRUE

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
User avatar
Marco van Wijngaarden
Forum Commoner
Posts: 59
Joined: Mon Jul 07, 2003 6:48 am
Location: The Netherlands

What's wrong with this mail() script, though it returns TRUE

Post by Marco van Wijngaarden »

Hi folks, i'm working on the following script which should actually send out a html mail to my address, then after succesfull (mail) it returns a line that says it's been send. this all works fine, but nothing is received so i figure that nothing has been send actually!? Can anyone give me some direction on the following script:

Code: Select all

<?php
/* ****************** MAIL ********************* */

/* recipients */
$to  = "me@mydomain.com";

/* subject */
$subject = "Internet bestelling";

/* message */
$message = '

/* ********************* HTML MESSAGE ********************* */
?>

<html>
<head>
<title>Internet bestelling</title>
</head>
<body>
<p>Onderstaand een overzicht van de bestelling:</p>
<table width="90%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#336600"> 
<td colspan="2" height="20"><font face="Arial, Helvetica, sans-serif" color="#FFFFFF"><b><font size="2">Klantgegevens: 
Faktuur en Afleveradres</font></b></font></td>
<td colspan="2"><font face="Arial, Helvetica, sans-serif" color="#FFFFFF"><b><font size="2">Huisstijlgegevens: 
Data</font></b></font></td>
</tr>
<tr>
<td><font face="Arial, Helvetica, sans-serif" size="1">Bedrijf</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[klantgegevens][bedrijf]); ?>
</font></td>
<td><font face="Arial, Helvetica, sans-serif" size="1">Regel 1</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[data][regel1]); ?>
</font></td>
</tr>
<tr> 
<td><font face="Arial, Helvetica, sans-serif" size="1">Naam</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[klantgegevens][naam]); ?>
</font></td>
<td><font face="Arial, Helvetica, sans-serif" size="1">Regel 2</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[data][regel2]); ?>
</font></td>
</tr>
<tr> 
<td><font face="Arial, Helvetica, sans-serif" size="1">Adres</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[klantgegevens][adres]); ?>
</font></td>
<td><font face="Arial, Helvetica, sans-serif" size="1">Regel 3</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[data][regel3]); ?>
</font></td>
</tr>
<tr> 
<td><font face="Arial, Helvetica, sans-serif" size="1">PC + Plaats</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[klantgegevens][postcode]); ?>
<?php echo ($HTTP_SESSION_VARS[klantgegevens][plaats]); ?>
</font></td>
<td><font face="Arial, Helvetica, sans-serif" size="1">Regel 4</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[data][regel4]); ?>
</font></td>
</tr>
<tr> 
<td><font face="Arial, Helvetica, sans-serif" size="1">Telefoon</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[klantgegevens][telefoon]); ?>
</font></td>
<td><font face="Arial, Helvetica, sans-serif" size="1">Regel 5</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[data][regel5]); ?>
</font></td>
</tr>
<tr> 
<td><font face="Arial, Helvetica, sans-serif" size="1">Email</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[klantgegevens][email]); ?>
</font></td>
<td><font face="Arial, Helvetica, sans-serif" size="1">Regel 6</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[data][regel6]); ?>
</font></td>
</tr>
<tr> 
<td><font face="Arial, Helvetica, sans-serif" size="1">Afleveren</font></td>
<td rowspan="3" valign="top"> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[klantgegevens][afleveren]); ?>
</font></td>
<td><font face="Arial, Helvetica, sans-serif" size="1">Regel 7</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[data][regel7]); ?>
</font></td>
</tr>
<tr> 
<td>&nbsp;</td>
<td><font face="Arial, Helvetica, sans-serif" size="1">Regel 8</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[data][regel8]); ?>
</font></td>
</tr>
<tr> 
<td>&nbsp;</td>
<td><font face="Arial, Helvetica, sans-serif" size="1">Regel 9</font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[data][regel9]); ?>
</font></td>
</tr>
</table>
<hr width="90%" noshade align="center">
<table width="90%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#336600"> 
<td height="20"><font face="Arial, Helvetica, sans-serif" color="#FFFFFF"><b><font size="2">Aantal</font></b></font></td>
<td><font face="Arial, Helvetica, sans-serif" color="#FFFFFF"><b><font size="2">Omschrijving</font></b></font></td>
<td> 
<div align="right"><font face="Arial, Helvetica, sans-serif" color="#FFFFFF"><b><font size="2">Bedrag</font></b></font></div>
</td>
</tr>
<?php
if ($HTTP_SESSION_VARS[bestelling][aantal][1]) {
?>
<tr> 
<td> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][aantal][1]); ?>
</font></td>
<td> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][artikel][1]); ?>
</font></td>
<td> 
<div align="right"> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][prijs][1]); ?>
</font></div>
</td>
</tr>
<?php
}
if ($HTTP_SESSION_VARS[bestelling][aantal][2]) {
?>
<tr> 
<td> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][aantal][2]); ?>
</font></td>
<td> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][artikel][2]); ?>
</font></td>
<td> 
<div align="right"> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][prijs][2]); ?>
</font></div>
</td>
</tr>
<?php
}	  
if ($HTTP_SESSION_VARS[bestelling][aantal][3]) {
?>
<tr> 
<td> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][aantal][3]); ?>
</font></td>
<td> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][artikel][3]); ?>
</font></td>
<td> 
<div align="right"> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][prijs][3]); ?>
</font></div>
</td>
</tr>
<?php
}
if ($HTTP_SESSION_VARS[bestelling][aantal][4]) {
?>
<tr> 
<td> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][aantal][4]); ?>
</font></td>
<td> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][artikel][4]); ?>
</font></td>
<td> 
<div align="right"> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][prijs][4]); ?>
</font></div>
</td>
</tr>
<?php
}
if ($HTTP_SESSION_VARS[bestelling][aantal][5]) {
?>
<tr> 
<td> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][aantal][5]); ?>
</font></td>
<td> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][artikel][5]); ?>
</font></td>
<td> 
<div align="right"> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][prijs][5]); ?>
</font></div>
</td>
</tr>
<?php
}
if ($HTTP_SESSION_VARS[bestelling][aantal][6]) {
?>
<tr> 
<td> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][aantal][6]); ?>
</font></td>
<td> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][artikel][6]); ?>
</font></td>
<td> 
<div align="right"> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][prijs][6]); ?>
</font></div>
</td>
</tr>
<?php
}
if ($HTTP_SESSION_VARS[bestelling][aantal][7]) {
?>
<tr> 
<td> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][aantal][7]); ?>
</font></td>
<td> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][artikel][7]); ?>
</font></td>
<td> 
<div align="right"> <font face="Arial, Helvetica, sans-serif"> 
<?php echo ($HTTP_SESSION_VARS[bestelling][prijs][7]); ?>
</font></div>
</td>
</tr>
<?php
}
?>
<tr> 
<td>&nbsp;</td>
<td>&nbsp;</td>
<td> 
<div align="right"></div>
</td>
</tr>
</table>
<hr noshade width="90%" align="center">
<table width="90%" border="0" cellspacing="0" cellpadding="0">
<tr> 
<td width="60%">&nbsp;</td>
<td width="40%">&nbsp;</td>
</tr>
<tr> 
<td width="60%">&nbsp;</td>
<td width="40%"> 
<div align="center"> 
<table width="100%" border="0" cellspacing="2" cellpadding="0" bordercolor="#000000">
<tr> 
<td> 
<div align="right"><font face="Arial, Helvetica, sans-serif" size="2">Verzendkosten</font></div>
</td>
<td> 
<div align="right"> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[kosten][verzendkosten]); ?>
</font></div>
</td>
</tr>
<tr> 
<td> 
<div align="right"><font face="Arial, Helvetica, sans-serif" size="2">Subtotaal</font></div>
</td>
<td> 
<div align="right"> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[kosten][subtotaal]); ?>
</font></div>
</td>
</tr>
<tr> 
<td> 
<div align="right"><font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[kosten][btwpercentage]); ?>
BTW</font></div>
</td>
<td> 
<div align="right"> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php print ($HTTP_SESSION_VARS[kosten][btw]); ?>
</font></div>
</td>
</tr>
</table>  
<table width="100%" border="0" cellspacing="2" cellpadding="0" bgcolor="#336600">
<tr valign="middle"> 
<td> 
<div align="right"><font face="Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"><b>Faktuurbedrag</b></font></div>
</td>
<td> 
<div align="right"><font face="Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"> 
<?php echo ($HTTP_SESSION_VARS[faktuurbedrag]); ?>
</font></div>
</td>
</tr>
<tr valign="middle"> 
<td> 
<div align="right"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#FFFFFF">Ordernummer</font></b></font></div>
</td>
<td> 
<div align="right"><font face="Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">
<?php echo ($HTTP_SESSION_VARS[order][ordernummer]); ?>
</font></div>
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr> 
<td width="60%">&nbsp;</td>
<td width="40%">
<table width="100%" border="0" cellspacing="2" cellpadding="0" bordercolor="#000000">
<tr> 
<td> 
<div align="right"><font face="Arial, Helvetica, sans-serif" size="2">IP adres</font></div>
</td>
<td> 
<div align="right"> 
<font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[klantgegevens][ip]); ?>
</font></div>
</td>
</tr>
<tr> 
<td>
<div align="right"><font face="Arial, Helvetica, sans-serif" size="2">Datum</font></div>
</td>
<td> 
<div align="right"> <font face="Arial, Helvetica, sans-serif" size="2"> 
<?php echo ($HTTP_SESSION_VARS[order][orderdatum]); ?>
</font></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
<?php

/* ***************** HTML MESSAGE END ********************* */


';

/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* additional headers */
$headers .= "From: ($HTTP_SESSION_VARS[klantgegevens][email])\r\n";
$headers .= "Cc: ($HTTP_SESSION_VARS[klantgegevens][email])\r\n";

/* and now mail it */
mail($to, $subject, $message, $headers);


/* ********************* RESULT ********************** */


if(mail) {
echo "your mail has been send!";

echo "<pre>"; 
print_r ($HTTP_SESSION_VARS); 
echo "</pre>"; 

}else{
echo "there was a server error, your mail has not been send!";
}
?>
NOTE: this is only the last part of the entire stript...assuming that the previous won't matter to the mail result?! Also, i am running this script on PHP 4.0.6 :wink: yeah, i know (but tell my host!)
User avatar
Fredix
Forum Contributor
Posts: 101
Joined: Fri Jul 18, 2003 2:16 pm
Location: Wehr (Eifel) Germany
Contact:

Post by Fredix »

if you say the script tells you everything went successful then it is probably a stupid spam filter blocking your mails. I had the problem too: Yahoo received the mails but GMX didn't so you should maybe try just another email address to see whether it works...
User avatar
Marco van Wijngaarden
Forum Commoner
Posts: 59
Joined: Mon Jul 07, 2003 6:48 am
Location: The Netherlands

Post by Marco van Wijngaarden »

actually i am sending it to my own pop account, something like myname@mydomain.com and i don't have any spam filters running so i don't think that would be the prob.!? But one thing i do wonder is if there might be a problem with my coding since my host is running PHP 4.0.6, anyway i will try a different address! Thanks!
User avatar
Fredix
Forum Contributor
Posts: 101
Joined: Fri Jul 18, 2003 2:16 pm
Location: Wehr (Eifel) Germany
Contact:

Post by Fredix »

and I just saw that you write sth. like

if(mail)
{
//successful
}
else
{
//not
}


I guess mail shoud be a variable here but I didn't find it in the rest of the source code where you would give it a value.......

it might be also helpful to visit
http://www.php.net/mail and read through some user comments and compare the source codes, maybe that can help you.
m3rajk
DevNet Resident
Posts: 1191
Joined: Mon Jun 02, 2003 3:37 pm

Post by m3rajk »

also you don't need to open and close php in there


i also think the issue is a spam filter run automatically by your host.

if this is going to go to other people than you, you might wanna rethink using html. i know peple like to in order to make messages nicer, but lately there's been so much i've seen with javascript that i filter EVERYTHING through pine.

if it doesn't look right there i delete it
User avatar
nielsene
DevNet Resident
Posts: 1834
Joined: Fri Aug 16, 2002 8:57 am
Location: Watertown, MA

Post by nielsene »

try changing the bottom of your code to:

Code: Select all

echo "To:$to<br />Subject: $subject<br />Message: $message<br />Headers: $headers<br />";
$mailStatus = mail($to,$subject,$message,$headers);
if ($mailStatus)
{
  echo "Successs";
}
else
{
echo "Failure";
}
User avatar
Marco van Wijngaarden
Forum Commoner
Posts: 59
Joined: Mon Jul 07, 2003 6:48 am
Location: The Netherlands

Post by Marco van Wijngaarden »

m3rajk what do you mean by not closing and opening php?
should i do <? phpcode ?> instead while inside the HTML message?

Also on your question regarding the mail address, actually the script runs on my_domain and the emailaddress is me@my_domain and i know this worked before when i tested so i assume there's some other error, but i can't find it! Could a missing variable inside the $message cause such an error? i guess not!?

Anyway... i'll see if the code change as Niesene just suggested will work for me!

Thanks guys!
User avatar
Marco van Wijngaarden
Forum Commoner
Posts: 59
Joined: Mon Jul 07, 2003 6:48 am
Location: The Netherlands

Post by Marco van Wijngaarden »

Hi folks!

Just for your information (or if anyone might come across) the trouble i had was caused by the headers... i guess PHP 4.0.6 won't allow those or all of them, still need to sort out which part! But it mails alright!

Nielsene, thanks for your suggestion, i am using it now!

Now there is another thing... the received message contains HTML coding and that is all i see...plain html coding (no table or anything is displayed actually!) So what am i doing wrong???
Post Reply