Otóż natknął mnie kolejny problem podczas pracy z CI, mianowicie stworzyłem sobie prosty kod wysyłający maile:
//Start Email Class $this->load->library('email'); $this->email->initialize(); $this->email->from('your@example.com', 'Your Name'); $this->email->to('matinowakma@gmail.com'); $this->email->cc('another@another-example.com'); $this->email->bcc('them@their-example.com'); $this->email->subject('Email Test'); //$this->email->message('Testing the email class.'); $data['title'] = "Hey there!!"; $data['message'] = "Hey there, you've got mail!"; $data['miesiac_pl'] = array(1 => 'stycznia', 'lutego', 'marca', 'kwietnia', 'maja', 'czerwca', 'lipca', 'sierpnia', 'września', 'października', 'listopada', 'grudnia'); $data['dzien_tyg_pl'] = array('Monday' => 'poniedziałek', 'Tuesday' => 'wtorek', 'Wednesday' => 'środa', 'Thursday' => 'czwartek', 'Friday' => 'piątek', 'Saturday' => 'sobota', 'Sunday' => 'niedziela'); $template = $this->load->view('iNovEmail/index', $data, TRUE); $this->email->message($template); $this->email->send();
Po wysłaniu danych w kod wnikają dziwne zamienniki, wszystko komplikuje się przy znaku "=", oto przykłady:
Kod
Content-Transfer-Encoding: 8bit
<a href=3D"http://www.design3edge.com"><img src=3D"http://inov.pl/katalog/s= ystem/application/views/iNovEmail/design/main_logo.gif" border=3D"0" alt=3D= "Katalog Stron Zgoda" /></a> background: url(http://inov.pl/katalog/system/application/views/iNovEmai= l/design/main_bg.gif) repeat;
<a href=3D"http://www.design3edge.com"><img src=3D"http://inov.pl/katalog/s= ystem/application/views/iNovEmail/design/main_logo.gif" border=3D"0" alt=3D= "Katalog Stron Zgoda" /></a> background: url(http://inov.pl/katalog/system/application/views/iNovEmai= l/design/main_bg.gif) repeat;
Szukając rozwiązania natknąłem się na Informacje, że UTF-8 korzysta z "2 bitów", natomiast w nagłówkach maila jest "8 bitów", jak to zamienić? Czy błąd kryje się gdzie idziej?