Re: compose html body with variables

From: Date: Mon, 06 Aug 2007 16:52:54 +0000
Subject: Re: compose html body with variables
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-260240@lists.php.net to get a copy of this message
Edward Kay wrote:
-----Original Message----- From: Matt [mailto:mlist@cmcflex.com] Sent: 06 August 2007 15:38 To: php-general@lists.php.net Subject: [PHP] compose html body with variables Hello, I'm trying to compose the body of an html email to use with the mail() function. I'm running into problem because I'm not sure how to quote the multi-line body. Here is what I have: $body = "
               echo "Hello, here is your quote from Freight Services.<br
/><br />";
               echo "Shipping from: <tab> $origin to $destination<br />";
                echo "<br>";
                echo "Shipping subtotal $" . number_format($subtotal,2);
                echo "<br>";
                echo "<br>";
                echo "Freight charges $" .
number_format($freightCharges,2);
                echo "<br>";
                echo "Fuel surcharge $" . number_format($fuelSurcharge,2);
                echo "<br>";
                echo "Pickup and delivery $" .
number_format($pickupDelivery,2);
                echo "<br>";
                echo "<br>";
                echo "Miscellaneus costs (e.g. liftgates, etc.) below $"
. number_format($miscCost,2);
                echo "<br>";
                echo "<br>";
                if ($liftgatePickup == "50"){
                        echo "Adding liftgate on pickup $50.00";
                        echo "<br>";
                }
                if ($liftgateDelivery == "50"){
                        echo "Adding liftgate on delivery $50.00";
                        echo "<br>";
                }
                if ($spectimeDelivery == "35"){
                        echo "Adding cost of specific-time
delivery $35.00";
                        echo "<br>";
                }
                if ($conventionDelivery == "35"){
                        echo "Adding cost of convention delivery $35.00";
                        echo "<br>";
                }
                if ($dreyageWait != 0){
                        echo "Adding cost for wait $" . $dreyageWait;
                        echo "<br>";
                }
                if ($insideDelivery == "25"){
                        echo "Adding cost for inside delivery $25.00";
                        echo "<br>";
                }
                if ($notifyClient == "10"){
                        echo "Adding cost for client notification $10.00";
                        echo "<br>";
                }
                echo "Total cost is $" . number_format($totalcost,2);
                echo "<br /><br />";
                echo "<a href=\"www.foo.net\">foo Services</a>";
               $subject = "Online Freight Quote";
               mail($email, $subject, $body, "From:
info@foo.net\r\nReturn-Path: foo@freightservices.net\r\nReply-To: info@foo.net\r\nX-Mailer: PHP 4.x\r\nMIME-Version: 1.0\r\nContent-Type: text/html; charset=iso-8859-1\r\n"); If anyone could assist me I'd appreciate it very much, Matt
    
Hi Matt, The problem here is that you're using echo statements, which output directly. Instead you need to build a string containing this output, for example: $body = "Hello, here is your quote from Freight Services.<br /><br />"; $body .= "Shipping from: <tab> $origin to $destination<br />"; etc. Note the use of the .= operator. This is the same as saying $body = $body.'whatever'; At the end, $body will then contain the HTML body of your email which you pass to the mail function. Hope this helps, Edward Very good! Thank you so much Edward. That worked perfectly.
Matt

« previous php.general (#260240) next »