Avatar billede coolmlj Nybegynder
13. juli 2011 - 14:09 Der er 10 kommentarer

HJÆLP.. php HTML mail problem

Jeg er igang med at lege med php og mail funktionen og vil gerne have sendt en html mail, men problemet er at det html jeg har lavet der er der både nogle if sætninger osv som jeg gerne skulle have med på en måde.

jeg har slås med dette de sidste 2 dage og må kaste håndklædet i ringen.
Det er med garenti SUPER LET at løse, jeg har bare gloet mig selv blind idet.. her er min mail kode:


////// kode start ///////

<?php
$modtager = "coolmlj@gmail.com"; //Hvem skal have mailen?
$emne = "Et emnefelt"; //Emnefeltet
$server1pris=($VS1HDD*1)+($VS1RAM*200)+125 ;
$server2pris=($VS2HDD*1)+($VS2RAM*200)+125 ;


$besked = "
<DIV class=white_box>
  <label>
  <div align=right><img src=logo.jpg width=145 height=64><br>
      <br>
  </div>
  </label>
  <DIV id=lipsum>
    <p>Tilbud til :<br>
FIRMA: XXXXX <br>
ATT: xxxxxxx <br>
EMAIL: xxxxxxx@xxxxx.dk <br>
TELEFON: xxxxxxxxx <br>
    </p></DIV><div>
    <p><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ut tellus in  augue feugiat pellentesque vitae at magna. Mauris dictum vehicula porttitor. Sed  euismod lorem in odio congue et aliquam est sagittis. In id sapien eu sem mattis  vestibulum pharetra luctus lorem. Ut suscipit mauris vitae massa pellentesque  pharetra. Nam ut neque arcu, et cursus ligula. Pellentesque in sem ante. Fusce  auctor, purus vitae ullamcorper ullamcorper, augue tortor hendrerit erat, ac  congue justo elit non nisi. Pellentesque habitant morbi tristique senectus et  netus et malesuada fames ac turpis egestas. Nulla facilisi. </p>
    <p>&nbsp;</p>
    </DIV>
  <label><br>
  <strong><br>
  Dit ønskede tilbud består af følgende produkter og priser:</strong><br>
  </label>
  <table width=98% border=0>
    <tr>
      <td width=64%><em>SERVER 1</em></td>
      <td width=36%>
        <div align=right>
          $server1pris ,-</div></td>
    </tr>
    <tr>
      <td><em>SERVER 2</em></td>
      <td>
        <div align=right>  $server2pris
      ,-      </div></td>
    </tr>
    <tr>
      <td><em>";
       
if ($VS3HDD != '-')
{
echo"SERVER 3 =";  $server3pris=($VS3HDD*1)+($VS3RAM*200)+125 ;  echo $server3pris; echo"<br>";
  }

echo"      </em></td>
      <td><div align=right></div></td>
    </tr>
    <tr>
      <td><em>
        ";
if ($VS4HDD != '-')
{
echo"SERVER 4 =";  $server4pris=($VS4HDD*1)+($VS4RAM*200)+125 ;  echo $server4pris; echo"<br>";
  }
 
echo"
      </em></td>
      <td><div align=right></div></td>
    </tr>
    <tr>
      <td><em>
  ";     
if ($VS5HDD != '-')
{
echo"SERVER 5 =";  $server3pris=($VS5HDD*1)+($VS5RAM*200)+125 ;  echo $server5pris; echo"<br>";
  }
echo"
      </em></td>
      <td><div align=right></div></td>
    </tr>
    <tr>
      <td><em>MAILSCAN</em></td>
      <td>
        <div align=right>
        ";
       
          $mailscan1pris=($medarbejder*8)+100 ;  echo $mailscan1pris;
        echo"  ,-      </div></td>
    </tr>
    <tr>
      <td><em>ANTIVIRUS</em></td>
      <td>
        <div align=right>
          "; $antivirus1pris=($medarbejder*19) ;  echo $antivirus1pris;
        echo" ,-</div></td>
    </tr>
    <tr>
      <td><em>BACKUP</em></td>
      <td>
        <div align=right>
          ";
  echo $backuppris;
 
echo"          ,-</div></td>
    </tr>
    <tr>
      <td><em>BRUGER LICENSER</em></td>
      <td>
        <div align=right>
    ";      $bruger1pris=($medarbejder*101.5) ;  echo $bruger1pris;
        echo"  ,-</div></td>
    </tr>
    <tr>
      <td><em>Office standard</em></td>
      <td>
        <div align=right>
          ";
          $officestd1pris=($officestandard*119) ;  echo $officestd1pris;
          echo" ,-</div></td>
    </tr>
    <tr>
      <td><em>Office Pro</em></td>
      <td>
        <div align=right>";
          $officepro1pris=($officepro*154.5) ;  echo $officepro1pris;
echo"          ,-</div></td>
    </tr>
    <tr>
      <td><em>MS Visio</em></td>
      <td>
        <div align=right>
    ";      $msvisio1pris=($msvisio*66.5) ;  echo $msvisio1pris;
      echo"  ,-</div></td>
    </tr>
    <tr>
      <td><em>MS Project</em></td>
      <td>
        <div align=right>
          "; $msproject1pris=($msproject*101.5) ;  echo $msproject1pris;
        echo" ,-</div></td>
    </tr>
    <tr>
      <td><em>Dynamics C5</em></td>
      <td>
        <div align=right>
          "; $c5standard1pris=($c5standard*69) ;  echo $c5standard1pris;
        echo" ,-</div></td>
    </tr>
    <tr>
      <td><em>Dynamics C5 udvidet</em></td>
      <td>
        <div align=right>
          "; $c5udvidet1pris=($c5udvidet*269) ;  echo $c5udvidet1pris;
          echo",-</div></td>
    </tr>
    <tr>
      <td><em>SQL </em></td>
      <td><div align=right>
        "; $sql1pris=($sql*84) ;  echo $sql1pris;
        echo",-</div></td>
    </tr>
    <tr>
      <td><em>Oprettelse</em></td>
      <td><div align=right>9995 ,- </div></td>
    </tr>
  </table>
  <label></label>
  <label><br>
  <br>
  <br>
  </label>
  <p>
    </p>
  <p><strong>De samlede omkostninger om md for hosting er: </strong></p>
  <table width=98% border=0>
    <tr>
      <td width=64%>Software / licenser pr md = </td>
      <td width=36%><div align=right>"; echo $samletsoftware ; echo" ,-</div></td>
    </tr>
    <tr>
      <td>backup / mailscan/ antivirus pr md = </td>
      <td><div align=right>"; echo $samletsikkerhed ; echo" ,-</div></td>
    </tr>
    <tr>
      <td> Serverleje / hosting pr md = </td>
      <td><div align=right>"; echo $samletserver ; echo" ,-</div></td>
    </tr>
    <tr>
      <td>ialt = </td>
      <td><div align=right>"; echo $samletaltprmd ; echo" ,-</div></td>
    </tr>
    <tr>
      <td>ialt pr medarbejder = </td>
      <td><div align=right>"; echo round($samletaltprmdprbruger, 0); echo"  ,-</div></td>
    </tr>
  </table>
  <p>&nbsp;  </p>
  <label><br>
  <br />
  </label>
  <p><strong><br>
      <label> JEG &Oslash;NSKER AT BENYTTE MIG AF DETTE TILBUD:</label>
  </strong>
    <label><br>
    LINK_TIL_SIDE_SOM_BEKR&AElig;FTER_TILBUDET    </label>
  </p>
  </DIV>";





$header  = "MIME-Version: 1.0" . "\r\n";
$header .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$header .= "from:salg@techbiz.dk";

mail($modtager, $emne, $besked, $header); //Send!!
?>



///// kode slut
Avatar billede Authiel Nybegynder
13. juli 2011 - 14:55 #1
Kan jeg have ret i at det kun er det her stykke kode der kommer med i din besked?

<DIV class=white_box>
  <label>
  <div align=right><img src=logo.jpg width=145 height=64><br>
      <br>
  </div>
  </label>
  <DIV id=lipsum>
    <p>Tilbud til :<br>
FIRMA: XXXXX <br>
ATT: xxxxxxx <br>
EMAIL: xxxxxxx@xxxxx.dk <br>
TELEFON: xxxxxxxxx <br>
    </p></DIV><div>
    <p><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ut tellus in  augue feugiat pellentesque vitae at magna. Mauris dictum vehicula porttitor. Sed  euismod lorem in odio congue et aliquam est sagittis. In id sapien eu sem mattis  vestibulum pharetra luctus lorem. Ut suscipit mauris vitae massa pellentesque  pharetra. Nam ut neque arcu, et cursus ligula. Pellentesque in sem ante. Fusce  auctor, purus vitae ullamcorper ullamcorper, augue tortor hendrerit erat, ac  congue justo elit non nisi. Pellentesque habitant morbi tristique senectus et  netus et malesuada fames ac turpis egestas. Nulla facilisi. </p>
    <p> </p>
    </DIV>
  <label><br>
  <strong><br>
  Dit ønskede tilbud består af følgende produkter og priser:</strong><br>
  </label>
  <table width=98% border=0>
    <tr>
      <td width=64%><em>SERVER 1</em></td>
      <td width=36%>
        <div align=right>
          $server1pris ,-</div></td>
    </tr>
    <tr>
      <td><em>SERVER 2</em></td>
      <td>
        <div align=right>  $server2pris
      ,-      </div></td>
    </tr>
    <tr>
      <td><em>";
Avatar billede coolmlj Nybegynder
13. juli 2011 - 15:06 #2
Ja.. helt korrekt.. kan godt se jeg afslutter koden, men ved ikke lige hvordan jeg ellers skal have dne til at kører mine if sætninger osv.
Avatar billede Authiel Nybegynder
14. juli 2011 - 11:00 #3
Jeg er ikke sikker, men istedet for at afslutte kode, så prøv at op del den. Så du bruger:
" + /*php koded her*/ + " forsættelse af html koden her";
Avatar billede Authiel Nybegynder
14. juli 2011 - 11:07 #4
Så den samlede kode bliver:
$besked = "
<DIV class=white_box>
  <label>
  <div align=right><img src=logo.jpg width=145 height=64><br>
      <br>
  </div>
  </label>
  <DIV id=lipsum>
    <p>Tilbud til :<br>
FIRMA: XXXXX <br>
ATT: xxxxxxx <br>
EMAIL: xxxxxxx@xxxxx.dk <br>
TELEFON: xxxxxxxxx <br>
    </p></DIV><div>
    <p><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ut tellus in  augue feugiat pellentesque vitae at magna. Mauris dictum vehicula porttitor. Sed  euismod lorem in odio congue et aliquam est sagittis. In id sapien eu sem mattis  vestibulum pharetra luctus lorem. Ut suscipit mauris vitae massa pellentesque  pharetra. Nam ut neque arcu, et cursus ligula. Pellentesque in sem ante. Fusce  auctor, purus vitae ullamcorper ullamcorper, augue tortor hendrerit erat, ac  congue justo elit non nisi. Pellentesque habitant morbi tristique senectus et  netus et malesuada fames ac turpis egestas. Nulla facilisi. </p>
    <p> </p>
    </DIV>
  <label><br>
  <strong><br>
  Dit ønskede tilbud består af følgende produkter og priser:</strong><br>
  </label>
  <table width=98% border=0>
    <tr>
      <td width=64%><em>SERVER 1</em></td>
      <td width=36%>
        <div align=right>
          $server1pris ,-</div></td>
    </tr>
    <tr>
      <td><em>SERVER 2</em></td>
      <td>
        <div align=right>  $server2pris
      ,-      </div></td>
    </tr>
    <tr>
      <td><em>" +
       
if ($VS3HDD != '-')
{
echo"SERVER 3 ="; 
$server3pris=($VS3HDD*1)+($VS3RAM*200)+125 ;
echo $server3pris;
echo"<br>";
  } + "      </em></td>
      <td><div align=right></div></td>
    </tr>
    <tr>
      <td><em>
        " +
if ($VS4HDD != '-')
{
echo"SERVER 4 =";  $server4pris=($VS4HDD*1)+($VS4RAM*200)+125 ;  echo $server4pris; echo"<br>";
  }
  + "
      </em></td>
      <td><div align=right></div></td>
    </tr>
    <tr>
      <td><em>
  " +   
if ($VS5HDD != '-')
{
echo"SERVER 5 =";  $server3pris=($VS5HDD*1)+($VS5RAM*200)+125 ;  echo $server5pris; echo"<br>";
  }
+ "
      </em></td>
      <td><div align=right></div></td>
    </tr>
    <tr>
      <td><em>MAILSCAN</em></td>
      <td>
        <div align=right>
        " +
       
          $mailscan1pris=($medarbejder*8)+100 ;  echo $mailscan1pris;
        ' "  ,-      </div></td>
    </tr>
    <tr>
      <td><em>ANTIVIRUS</em></td>
      <td>
        <div align=right>
          " + $antivirus1pris=($medarbejder*19) ;  echo $antivirus1pris;
        + " ,-</div></td>
    </tr>
    <tr>
      <td><em>BACKUP</em></td>
      <td>
        <div align=right>
          " +
  echo $backuppris;
 
+ "          ,-</div></td>
    </tr>
    <tr>
      <td><em>BRUGER LICENSER</em></td>
      <td>
        <div align=right>
    " +      $bruger1pris=($medarbejder*101.5) ;  echo $bruger1pris;
        + "  ,-</div></td>
    </tr>
    <tr>
      <td><em>Office standard</em></td>
      <td>
        <div align=right>
          " +
          $officestd1pris=($officestandard*119) ;  echo $officestd1pris;
          + " ,-</div></td>
    </tr>
    <tr>
      <td><em>Office Pro</em></td>
      <td>
        <div align=right>" +
          $officepro1pris=($officepro*154.5) ;  echo $officepro1pris;
+ "          ,-</div></td>
    </tr>
    <tr>
      <td><em>MS Visio</em></td>
      <td>
        <div align=right>
    " +      $msvisio1pris=($msvisio*66.5) ;  echo $msvisio1pris;
      + "  ,-</div></td>
    </tr>
    <tr>
      <td><em>MS Project</em></td>
      <td>
        <div align=right>
          " + $msproject1pris=($msproject*101.5) ;  echo $msproject1pris;
        + " ,-</div></td>
    </tr>
    <tr>
      <td><em>Dynamics C5</em></td>
      <td>
        <div align=right>
          " + $c5standard1pris=($c5standard*69) ;  echo $c5standard1pris;
        + " ,-</div></td>
    </tr>
    <tr>
      <td><em>Dynamics C5 udvidet</em></td>
      <td>
        <div align=right>
          " + $c5udvidet1pris=($c5udvidet*269) ;  echo $c5udvidet1pris;
          + ",-</div></td>
    </tr>
    <tr>
      <td><em>SQL </em></td>
      <td><div align=right>
        " + $sql1pris=($sql*84) ;  echo $sql1pris;
        + ",-</div></td>
    </tr>
    <tr>
      <td><em>Oprettelse</em></td>
      <td><div align=right>9995 ,- </div></td>
    </tr>
  </table>
  <label></label>
  <label><br>
  <br>
  <br>
  </label>
  <p>
    </p>
  <p><strong>De samlede omkostninger om md for hosting er: </strong></p>
  <table width=98% border=0>
    <tr>
      <td width=64%>Software / licenser pr md = </td>
      <td width=36%><div align=right>" + echo $samletsoftware ; + " ,-</div></td>
    </tr>
    <tr>
      <td>backup / mailscan/ antivirus pr md = </td>
      <td><div align=right>" + echo $samletsikkerhed ; + " ,-</div></td>
    </tr>
    <tr>
      <td> Serverleje / hosting pr md = </td>
      <td><div align=right>" + echo $samletserver ; + " ,-</div></td>
    </tr>
    <tr>
      <td>ialt = </td>
      <td><div align=right>" + echo $samletaltprmd ; + " ,-</div></td>
    </tr>
    <tr>
      <td>ialt pr medarbejder = </td>
      <td><div align=right>" + echo round($samletaltprmdprbruger, 0); + "  ,-</div></td>
    </tr>
  </table>
  <p>   </p>
  <label><br>
  <br />
  </label>
  <p><strong><br>
      <label> JEG ØNSKER AT BENYTTE MIG AF DETTE TILBUD:</label>
  </strong>
    <label><br>
    LINK_TIL_SIDE_SOM_BEKRÆFTER_TILBUDET    </label>
  </p>
  </DIV>";
Avatar billede Authiel Nybegynder
14. juli 2011 - 12:27 #5
En anden måde jeg lige kom i tank om er at istedet for at echo noget som helst ud. Så lav en $besked .= "inholdet het";

Så hver gang du har en echo. så laver du en $besked .= "html her";

Skriv hvis du ikke forstår hvad jeg mener!
Avatar billede coderdk Praktikant
14. juli 2011 - 16:29 #6
Tror muligvis også bare du kan ændre:


mail($modtager, $emne, $besked, $header); //Send!!


til


$mere = ob_get_clean();
mail($modtager, $emne, $besked.$mere, $header); //Send!!

og så smide en ob_start(); i toppen
Avatar billede Authiel Nybegynder
15. juli 2011 - 07:06 #7
#6 Kan godt være det bare er mig der er blevet sløv i det. Men kan du evt. forklare hvordan at det at lave $mere = ob_get_clean();
og så tilføje den i mail(.......);

kan ændre på at han afslutter sin variabel $besked lige inden det første If statement.
Avatar billede coderdk Praktikant
15. juli 2011 - 14:46 #8
Det ændrer skam ikke på det - Første del bliver gemt i $besked, resten bliver skrevet ud i bufferen, som vi derefter tømmer med ob_get_clean() og sætter sammen med $besked.
Avatar billede Authiel Nybegynder
19. juli 2011 - 12:09 #9
coolmlj kunne det evt. være en ide at vende tilbage og få en afklaring??
Avatar billede coolmlj Nybegynder
02. september 2011 - 09:16 #10
hej alle..

Jeg ved ikke hvorfor, men jeg har INTET hørt fra eksperten omkring at folk har svaret :( :(

Viser sig desværre at min mail adresse stod forkert, så den er blevet ændret.

Jeg skrev koden helt om og den endte med at se sådan ud:

<?php
$modtager = $email; //Hvem skal have mailen?
$emne = "emne"; //Emnefeltet

$besked = "
indhold

";





$header  = "MIME-Version: 1.0" . "\r\n";
$header .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$header .= "from:salg@techbiz.dk";

mail($modtager, $emne, $besked, $header); //Send!!
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester