Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie wyśweitla mi obrazków wysyłanych w mailu
Forum PHP.pl > Forum > PHP
MOniToR
Witam

Mam taki kod, który jest odpowiedzialny za wysyłanie maila:
  1. <?php
  2. $uchwyt = fopen("templates/ico/mail.php", "r");
  3.    $tresc = fread($uchwyt, filesize("templates/ico/mail.php"));
  4.   fclose($uchwyt);
  5.    //$tresc = eval("$main = \"$main\";");
  6.    $header = "MIME-Versio: 1.0r\n"."Content-type: text/html; charset=iso-8859-2r\n";
  7.   $header .= "From: kontakt@ico.waw.pl\n";
  8.    $header .= "Cc: $emailr\n";
  9.   $header .= "Bcc: $emailr\n";
  10.    mail('me@grzy99kkk.pl', 'Aktywacja konta', $tresc, $header);
  11. ?>

I mój szablonik do maili:

  1. <title>ICO Komputer</title>
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  3. <style type="text/css">
  4. body{
  5. text-align:center;
  6. background: #e8e8e8 url('http://www.images.ico.waw.pl/mail/bg.jpg') repeat-x;
  7. font-family: trebuchet ms, sans-serif;
  8. font-size:12px;
  9. color:#737373;
  10. padding:0;
  11. margin:0;
  12. }
  13. #outer{
  14. min-height:100%;
  15. width:742px;
  16. color: #000000;
  17. text-align:left;
  18. margin:0 auto;
  19. }
  20.  
  21. * html #outer{
  22. height:100%;
  23. width:742px;
  24. w\idth:758px;
  25. }
  26. #header{
  27. top:0px;
  28. width:742px;
  29. height:130px;
  30. background: url('http://www.images.ico.waw.pl/mail/top.jpg') no-repeat;
  31. color: #000000;
  32. z-index:0;
  33. }
  34. #menu{
  35. top:0px;
  36. width:742px;
  37. height:51px;
  38. background: url('http://www.images.ico.waw.pl/mail/top1.jpg') no-repeat;
  39. color: #000000;
  40. z-index:0;
  41. }
  42. #menu .in {
  43. margin-left: 10px;
  44. height:20px;
  45. margin-top:0px;
  46. padding-top:7px;
  47. color:#bababa;
  48. font-weight:bold;
  49.  
  50. }
  51. #menu .in a, #menu .in a:active, #menu .in a:visited {
  52. text-decoration:none;
  53. color:#0074c3;
  54. font-size:14px;
  55. font-weight:bold;
  56. margin-left:7px;
  57. margin-right:7px;
  58. }
  59.  
  60. #menu .in a:hover {
  61. text-decoration:underline;
  62. color:#0074c3;
  63. font-size:14px;
  64. font-weight:bold;
  65. margin-left:7px;
  66. margin-right:7px;
  67. }
  68.  
  69.  
  70.  
  71. p {padding:0 3px;margin:0 0 1em 0}
  72. #footer {
  73. width:742px;
  74. height:35px;
  75. color: #000000;
  76. text-align:center;
  77. margin:auto;
  78. margin-top:-85px;
  79. background: url('http://www.images.ico.waw.pl/mail/main_end.jpg') no-repeat;
  80. }
  81. #centrecontent {
  82. width:742px;
  83. float:right;
  84. padding-top:0px;
  85. background:#fff;
  86. min-height:580px;
  87. z-index:105;
  88. }
  89. #centrecontent .in {
  90. width:700px;
  91. margin:10px;
  92. z-index:105;
  93.  
  94. }
  95. .light {
  96. color:#9d9d9d;
  97. }
  98. </head>
  99. <div id="minHeight"></div>
  100. <div id="outer">
  101. <div id="header">
  102. </div>
  103. <div id="menu">
  104. <div class="in">
  105. <a href="http://www.ico.waw.pl">NASZA STRONA</a> | <a href="http://www.ico.waw.pl/nowosci.html">NOWOŚCI</a> | <a href="http://www.ico.waw.pl/promocje.html">PROMOCJE</a> | <a href="http://www.ico.waw.pl/kontakt.html">KONTAKT</a>
  106. </div>
  107. </div>
  108. <div id="centrecontent">
  109. <div class="in">
  110. <p>asdasdasd</p>
  111. </div>
  112. </div>
  113. </div>
  114. <div id="footer"></div>
  115. <br />
  116. </body>
  117. </html>


Problem polega na tym, że maile, które wysyła nie zawierają obrazków, które są podane w css. Może mi ktoś powiedzieć dlaczego? Dopiero tworzę ten skrytp i byłbym wdzięczny tez jakby mi ktoś podpowiedział jak uzyć tutaj funkcji eval smile.gif Z góry dzięki:)
erix
A ten sam kod działa bez problemów po otwarciu w przeglądarce? Jakim klientem mailowym otwierasz podgląd?

PS:
  1. <?php
  2. $uchwyt = fopen("templates/ico/mail.php", "r");
  3.   $tresc = fread($uchwyt, filesize("templates/ico/mail.php"));
  4.  fclose($uchwyt);
  5. ?>

file_get_contents" title="Zobacz w manualu PHP" target="_manual? tongue.gif
MOniToR
Tak, szablon sam działa w przeglądarce. Używam Outlooka 2007 z Office 2007. Przy użyciu file_get_contents ten sam efekt. Mianowicie czyta mi kod html ale nie wyświetla obrazków:/

EDIT: Jeżeli załączę obrazy za pomocą <img src="..."> to normalnie czyta mi obrazki, jednak czemu nie chce mi czytac tych z kodu css? :/
erix
Nie jestem w stanie podać w tej chwili źródła (chyba mam nie zapisane w zakładkach), ale renderowanie kodu HTML w klientach pocztowych obwarowane jest dość sporymi ograniczeniami.
MOniToR
Szkoda, a chciałem zrobić taki ładny mail, trochę go teraz uprościłem i chodzi, ale juz bez obrazków w css.
A może mi ktoś powiedzieć jak teraz wykorzystać funkcje eval?

  1. <?php
  2. $tresc_maila =$txt_verificationmail_txt.'http://www.ico.waw.pl/aktywacjauzytkownika_hugasd768r23.html';
  3.        $tresc = file_get_contents('templates/ico/mail.php', true);
  4.    $tresc = eval("$tresc = \"$tresc\";");
  5. ?>

Taki kod powoduje, że zmienna $tresc jest pusta. A chcę aby mi zamienił wpis w szablonie $tresc_maila na zawartośc zmiennej $tresc_maila snitch.gif
erix
  1. <?php
  2. $tresc = eval("$tresc = \"$tresc\";");
  3. ?>

Bo przypisujesz wynik. winksmiley.jpg

A tak BTW, po co takie przypisywanie...? Trochę tego nie rozumiem; przecież już przypisałeś treść przez file_get_contents" title="Zobacz w manualu PHP" target="_manual...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.