Jump to content
Sign in to follow this  
whisper

Neodosiela emaily zákazníkovi, ak jeho meno/priezvisko obsahuje "ľščťžýáíéúäô"

Recommended Posts

Nazdar,

nestretli ste sa niekto s problémom, že vám odmieta poslať e-mail zákazníkovi, ak jeho meno obsahuje znaky s dĺžňami / mäkčeňmi (napríklad v časti administrácia - Orders, keď dáte zaslať správu k objednávke)?

Je to pre mňa dosť súrne a podstatné, pretože takto by som musel mať všetkých zákazníkov bez diakritiky...

Ďakujem za každú radu.

Share this post


Link to post
Share on other sites

Verzia PrestaShop, verzia jazyka? Ako bol instalovany jazyk/upravy jazyka ci email sablon? Je charset databazy nastaveny na utf-8? Dalsie indicie?

Share this post


Link to post
Share on other sites

Originál čistá inštalácia (1.2.5 aj 1.3.0) bez akýchkoľvek úprav (anglický jazyk), komerčný hosting: PHP 5, MySQL 5.1, využívam PHP mail()

Pôvodne som na to prišiel až po pár dňoch, kde už bol systém preložený (preklad z oficiálnych stránok) + doprekladané mnou, ale dnes som to skúšal aj na čistej inštalácii a nič.

Share this post


Link to post
Share on other sites

Popravde, nepocul som o tom este. ak spravne rozumiem, ked ma zakaznik v mene diakritiku, email nebude doruceny?

Share this post


Link to post
Share on other sites

A mimochodom, slovensky jazyk ktory je na Download stranke tohoto webu je z verzie 1.2.4.0. Tvoj problem ale zrejme nesuvisi s prekladom jazyka. Neodosle aj emaily, ked nastavis v obchode anglictinu - t.j. zasiela anglicke emaily?

Share this post


Link to post
Share on other sites

No takže po zmene kódu to funguje... Neviem prečo to iným ide, ale mne tá funkcia v pôvodnej podobne posielala úplné kraviny akonáhle tam bolo niečo s diakritikou... Súbor: tools\swift\Swift\Plugin\MailSend.php

Originál

  public function doMail($to, $subject, $message, $headers, $params)
 {
   $original_from = @ini_get("sendmail_from");
   @ini_set("sendmail_from", $this->returnPath);

   $headers = $headers->build();

   if (!ini_get("safe_mode")) $success = mail($to, $subject, $message, $headers, $params);
   else $success = mail($to, $subject, $message, $headers);




Upravený

  public function doMail($to, $subject, $message, $headers, $params)
 {
   $original_from = @ini_get("sendmail_from");
   @ini_set("sendmail_from", $this->returnPath);

   $headers = $headers->build();

   eregi("(.*) <(.*)>",$to,$regs);

   if (!ini_get("safe_mode")) $success = mail($to, $subject, $message, $headers, $params);
   else $success = mail('=?UTF-8?B?'.base64_encode($regs[1]).'?= <'.$regs[2].'>', $subject, $message, $headers);

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More