Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Brak formatu HTML w mailu
Mustava
post 21.05.2009, 10:39:38
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 2.03.2009

Ostrzeżenie: (0%)
-----


Wysyłam maila za pomocą ponizszego kodu:
Kod
  $include_path = array('/usr/lib/php' );
  
        ini_set('include_path', implode(';', $include_path));
        require_once 'Mail.php';
      
  
        $params['host'] = 'smtp.zz.pl';
      
        $headers['Subject'] = 'Temat wiadomości';
        $headers['From'] = 'automat@yy.pl';
        $headers['To'] = 'mustava@yy.pl';
        $headers['MIME-Version']='1.0';
        $headers['Content-type']='text/html; charset=iso-8859-2';
      
  
          $zaw="Treść wiadomości linia1<br>";
          $zaw=$zaw."Treść wiadomości linia2<br>";
          $zaw=$zaw."Treść wiadomości linia3<br>";
          $zaw=$zaw."Treść wiadomości linia4<br>";
          $zaw=$zaw."Treść wiadomości linia5<br>";
      
        $body = $zaw;
        $recipients = $mail;
        $mail = Mail::factory('smtp', $params);
        $mail->send($recipients, $headers, $body);


Niestety po odebraniu wiadomości w programie pocztowym na ma formatu HTML - mail wygląda tak:
=====================================
From: automat@yy.pl

To: mustava@yy.pl

MIME-Version: 1.0

Content-type: text/html; charset=iso-8859-2

Treść wiadomości linia1<br>Treść wiadomości linia2<br>Treść wiadomości linia3<br>Treść wiadomości linia4<br>Treść wiadomości linia5<br>
======================================
Temat wiadomości jest OK

Ki grzyb?

Na innym serwerze skrypt działa OK



Nikt nie wie?
Zastanawia mnie to że są nagłówki From, To, MIME-Version i Content-type
nie zostają zinterpretowane jako nagłówek maila lecz jego treść.

Sprawa rozwiązana (obejście problemu) - użyłem PHPMailer


Ten post edytował Mustava 21.05.2009, 13:18:28
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
webJ@cob
post 22.05.2009, 01:55:33
Post #2





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 28.02.2007
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Proponuję:

$body = '<html><body>' . $zaw . '</body></html>';


--------------------
Sprawdź kiedy marzenia stają się inspiracją.
e-Zarządzania firmą | e-Biznes | Strony.Serwisy.Portale Internetowe
www.webarts.pl
Go to the top of the page
+Quote Post
Mustava
post 22.05.2009, 05:58:07
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 2.03.2009

Ostrzeżenie: (0%)
-----


Tez to próbowałem zastosować - niestety nic to nie dawało.
Coś musiało być z nagłówkami, bo Subject "wskakiwał" właściwie jako temat wiadomości, ale pozostałe elementy nagłówka "przechodziły" do treści maila.

Ale dzięki za dobre chęci rolleyes.gif
Go to the top of the page
+Quote Post
deirathe
post 22.05.2009, 07:20:30
Post #4





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

Ostrzeżenie: (0%)
-----


Też miałem podobny problem i wyrobiłem taką funkcję. Może szału nie robi ale powinna działać:
  1. <?php
  2. function htmlMail($to,$from,$subject,$body,$encoding="utf-8")
  3.    {
  4.        $headers = 'Content-Disposition: inline' . "\n";
  5.        $headers .= 'Content-Transfer-Encoding: quoted-printable' . "\n";
  6.        $headers .= 'Content-Type: text/html; charset="'.$encoding.'"' . "\n";
  7.        $headers .= 'MIME-Version: 1.0' . "\n";
  8.        $headers .= 'From:  Ktos cos<'.$from.'>' . "\n";
  9.        $headers .= 'To: <'.$to.'>' . "\n";
  10.        $headers .= 'Reply-To: '.$from. "r\n";
  11.  
  12.        $body='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  13. <html>
  14. <head>
  15. <meta http-equiv="Content-Type" content="text/html; charset=$encoding">
  16. <title></title>
  17. </head>
  18. <body>'.$body.'</body></html>';
  19.    
  20.        // Wysłanie e-maila
  21.        mail($to, $subject, $body, $headers);
  22.  
  23.    }
  24. ?>


--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post
Mustava
post 22.05.2009, 09:00:09
Post #5





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 2.03.2009

Ostrzeżenie: (0%)
-----


THX, ale muszę wysyłać przez smtp

Ogólnie już problemu NIE MA - działa OK z użyciem PHPMailera
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 16:05