Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z przesłaniem e-mailem z poziomu php obrazka za pomocą phpMailer
Forum PHP.pl > Forum > Przedszkole
Diriee
Witam!
Mam następujący kod:

  1. <?php
  2.  
  3. ...
  4.  
  5. /* **Przypisanie do $tresc całej zawartości maila** */
  6. $t = '<html>';
  7. $t .= '<head>';
  8. $t .= '<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">';
  9. $t .= '<style type="text/css">';
  10. $t .= 'table{';
  11. $t .= 'width:620px;';
  12. $t .= 'border:1px solid silver;';
  13. $t .= 'padding:5px;';
  14. $t .= 'margin:0;';
  15. $t .= 'empty-cells:schow;';
  16. $t .= 'border-collapse:collapse;';//styl dopracować jeszcze
  17. $t .= 'font-family:Arial;';
  18. $t .= 'font-size:12px;';
  19. $t .= 'color:#555555;';
  20. $t .= '}';
  21. $t .= '.centr{';
  22. $t .= 'text-align:center;';
  23. $t .= 'background-color:#d6dff7;';
  24. $t .= '}';
  25. $t .= 'td {';
  26. $t .= 'border:1px solid silver;';
  27. $t .= '}';
  28. $t .= '</style>';
  29. $t .= '</head>';
  30. $t .= '<body>';
  31. $t .= '<center>';
  32. //$t .= '<img src="cid:my-attach">';//tu logo firmy
  33. $t .= '<table>';
  34. $t .= '<tr class="centr"><td colspan="2">';
  35. $t .= 'Polecenie służbowe nr '.$id.'.<br /><br />';
  36. $strona = "http://www.firma.com/aktywacja/aplikacja/index.php?id=$id";
  37. $t .= '<a href="'.$strona.'" target="_blank">Kliknij aby wykonac operacje na zleceniu</a><br />';
  38. $t .= '</td></tr>'."\n";
  39. $t .= '<tr><td>Opis zlecenia</td><td>'.$opis.'</td></tr>'."\n";
  40.  
  41. $t .= '<tr><td>Miejsce zlecenia</td><td>'.$miejsce.'</td></tr>'."\n";
  42.  
  43. $t .= '<tr><td>Zlecający</td><td>'.$zlecajacy.'</td></tr>'."\n";
  44.  
  45. $t .= '<tr><td>'.$opieka.'</td><td>'.$firma_name.'</td></tr>'."\n";
  46.  
  47. $t .= '<tr><td>Data przekazania</td><td>'.$data_p.'</td></tr>'."\n";
  48.  
  49. $t .= '<tr><td>Sposób przekazania</td><td>'.$przekazane.'</td></tr>'."\n";
  50.  
  51. $t .= '<tr><td>Wykonujący</td><td>'.$wykonujacy.'</td></tr>'."\n";
  52.  
  53. $t .= '<tr><td>Przewidywany termin realizacji</td><td>'.$data_p_r.'</td></tr>'."\n";
  54.  
  55. $t .= '</table>';
  56. $t .= '</body>';
  57. $t .= '</html>';
  58. $tresc = $t;
  59.  
  60. require('../phpmailer/class.phpmailer.php');
  61. require('../phpmailer/class.pop3.php');
  62.  
  63. $pop = new POP3();
  64. $pop->Authorise('poczta.firma.com', 110, 25, 'adres@firma.com', 'haslo123', 1);
  65.  
  66. $mail = new PHPMailer();
  67. $mail->IsSMTP();
  68. $mail->SMTPDebug = 2;
  69. $mail->IsHTML(true);
  70. $mail->Sender = 'imie@firma.com';
  71.  
  72. //$mail->AddBCC('imie1@firma.com', 'IMIE1');
  73. //$mail->AddCC('szef@firma.com', 'SZEF');
  74. $mail->AddCC('tymczasoweimie@gmail.com', 'Imie'); // docelowo ma być wywalone!!!
  75. $mail->Host = 'poczta.firma.com';
  76. $mail->From = 'Ja@firma.com';
  77. $mail->FromName = 'SYSTEM APLIKACJA - FIRMA';
  78. $mail->Subject = "TEST";
  79. $mail->AddAddress("$user_mail", "$user_name");
  80. //$mail->AddEmbeddedImage("../images/logo_mail.jpg", "my-attach", "logo_mail.jpg", "image/jpeg");
  81. $mail->Body = "$tresc";
  82. $mail->CharSet = "UTF-8";
  83.  
  84. if($mail->Send())
  85. {
  86. echo 'E-mail został wysłany';
  87. }
  88. else
  89. {
  90. echo 'E-mail nie mógł zostać wysłany, przyczyna :'. $mail->ErrorInfo;
  91. }
  92. $mail->ClearAddresses();
  93. $mail->ClearAttachments();
  94. ?>


Niestety, w momencie kiedy odkomenduję linijki:
nr 32:
  1. $t .= '<img src="cid:my-attach">';//tu logo firmy

oraz
nr 80:
  1. $mail->AddEmbeddedImage("../images/logo_mail.jpg", "my-attach", "logo_mail.jpg", "image/jpeg");

e-mail wogóle nie dochodzi.
Kiedy wyświetlę
  1. echo $tresc;
widać, że wstawia mi tam jakiś obrazek, ale niestety nie wyświetla go i przy "pokaż obrazek" wyskakuje komunikat, że protokół cid nie jest do niczego przypisany.
Bardzo proszę o jakąś podpowiedź (oraz wyrozumiałość winksmiley.jpg ) i z góry dziękuję za odpowiedzi.

Jak widzę, las podpowiedzi winksmiley.jpg. No cóż, nie poradziłam sobie z tym sama i koniec końców mail idzie bez obrazka, na szczęście tak też może być. Zresztą projekt został czasowo zawieszony.
Dziękuję za uwagę.
vokiel
To co ma być dołączone do treści maila powinno być kodowane w base64, zatem u Ciebie powinno pomóc coś w ten deseń:
  1. $mail->AddEmbeddedImage("../images/logo_mail.jpg", "my-attach", "logo_mail.jpg", "base64", "image/jpeg");
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.