Всего: 5 < 1 2 3 4 5 >
 Отправка писем
Greipfrutik
Новичок
: 1
: 14-06-2010


15-06-2010 16:10
Цитата:( ors @ 10-06-2010 21:31 Смотреть сообщение )
У вас вообще функция mail работает?
Код:
&lt;?php
$to = 'test@site.ru';

$subject = 'Проверка отправки на русском';

$message = '
&lt;html&gt;
&lt;head&gt;
&nbsp;&nbsp;&lt;title&gt;Проверка отправки на русском&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&nbsp;&nbsp;&lt;p&gt;Проверка отправки на русском&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
';


$headers&nbsp;&nbsp;= 'MIME-Version: 1.0' . &quot;\r\n&quot;;
$headers .= 'Content-type: text/html; charset=UTF-8' . &quot;\r\n&quot;;

$headers .= 'To: '.$to. &quot;\r\n&quot;;
$headers .= 'From: '.$to . &quot;\r\n&quot;;

mail($to, $subject, $message, $headers);
?&gt;

Сохранить в UTF-8.

Если работает, то можно не использовать Swift, а отправлять напрямую mail

А что делать, если не срабатывает отправка? Пустая страница появляется, а письма не приходят., даже в спаме нет.
 
  
Алекс


Администратор
: 4516
: Красноярск
: 29-05-2009


15-06-2010 17:07
Развели тему :box:

Простое решение: переехать на нормальный хостинг, вдс и тп.
Решение посложнее: почитать логи, исправить ошибку.
Белый экран - включите отображение ошибок.
 
  
ors
Профессионал
: 1885
: 09-11-2009


15-06-2010 18:04
И должен быть белый экран. Скрипт ничего не выводит. Только письмо отправляет.

Столкнулся с такой проблемой, когда почтовый сервер был на другом сервере. На хостинге была прописана mx запись на их почтовый сервер. Решил проблему отключив днс в настройках хостинга.

В принципе и на виртуальном хостинге будет работать, только не стоит сильно рассчитывать хостинг за 10 руб.
 
  
arysrydoi
Новичок
: 9
: 22-03-2010


15-06-2010 19:07
Спасибо ors за файлы, не знаю как, но он заработало, и без кракозябров!
Алекс, я бы с удовольствием переехала на нормальный хостинг, да заказчик не велит. Дело принципа, блин.
 
  
ors
Профессионал
: 1885
: 09-11-2009


15-06-2010 19:11
Странно. Это были файлы из версии 1.3.1 с добавлением ведения лога. Ничего в отправке не изменял.
 
  
arysrydoi
Новичок
: 9
: 22-03-2010


16-06-2010 13:29
Видимо, у меня были какие-то битые файлы, и с заменой на нормальные все заработало. Или хостер что-то подшаманил. В любом случае, всем спасибо за помощь.
 
  
S.Cherkass
Новичок
: 7
: 21-06-2010


21-06-2010 21:49
Если у кого-то встретится проблема с отправкой уведомления при заказе:

Проанализировал я код в файле modules/mailalerts/mailalerts.php и обнаружил некторые непонятки с переменной $template
в участке кода отвечающем, как я определил, какраз за отсылку уведомления администратору:
$iso = Language::getIsoById(intval($id_lang));
if (file_exists(dirname(__FILE__).'/mails/'.$iso.'/'.$template.'.txt') AND file_exists(dirname(__FILE__).'/mails/'.$iso.'/'.$template[/COLOR].'.html'))
Mail::Send($id_lang, $template, $subject, $templateVars, explode(self::__MA_MAIL_DELIMITOR__, $this->_merchant_mails), NULL, $configuration['PS_SHOP_EMAIL'], $configuration['PS_SHOP_NAME'], NULL, NULL, dirname(__FILE__).'/mails/');

Я обнаружил что переменная нигде не определяется (насчет ее глобальности тоже сомневаюсь)
Замена этого участка кода на:

$iso = Language::getIsoById(intval($id_lang));
if (file_exists(dirname(__FILE__).'/mails/'.$iso.'/new_order.txt') AND file_exists(dirname(__FILE__).'/mails/'.$iso.'/new_order.html'))
Mail::Send($id_lang, 'new_order', $subject, $templateVars, explode(self::__MA_MAIL_DELIMITOR__, $this->_merchant_mails), NULL, $configuration['PS_SHOP_EMAIL'], $configuration['PS_SHOP_NAME'], NULL, NULL, dirname(__FILE__).'/mails/');

помогла решить проблему. Дополнительно в папке modules/mailalerts/mails создайте папку modules/mailalerts/mails/ru и в нее поместите содержимое папки modules/mailalerts/mails/en . Кроме того для руссификации переведите содержимое файлов new_order.txt или new_order.html ( кто какой тип уведомления использует - текстовый или хтмл) в новоиспеченной папке ru на русский язык....
И будет вам Счастье! :)
 
  
S.Cherkass
Новичок
: 7
: 21-06-2010


22-06-2010 01:06
Поправка самому себе: переменная все-таки определяется...(поиск мне не дал ее по какойто причине - позже просмотр глазками позволил мне ее найти) Теперь непонятно по какой причине она некорректно работала и замена на конкретное слово помогло избавиться от глюков...загадка
 
  
S.Cherkass
Новичок
: 7
: 21-06-2010


22-06-2010 14:22
Окончательная редакция:

Как я понял на текущий момент - проблемы с отправкой уведомления о покупке возникают на оригинальной английской и впоследствии локализованной версии. У меня в папке модуля mailalerts/mails отсутствовала папка ru/. По всей видимости создание ее и копирование в нее содержимого папки en/ и решило проблему. Таким образом подобные неисправности возникают только на оригинальном инсталляторе. Однако мне до сих пор неясно каким образом отправляются сообщения заказчику, ведь образцы для сообщений также хранятся в папке ru/. :eek:


Сообщение отредактировано S.Cherkass 22-06-2010 09:23 ...
 
  
vetal2530
Новичок
: 1
: 22-07-2010


22-07-2010 17:04
У меня несколко другая проблема: письма приходят только мне. При заказе я получаю письмо, а покупатель - нет. То же самое и с восстановлением пароля - письмо просто не приходит, при том, что форма связи работает нормаль: я получаю все письма. В чем может быть проблема? Заранее спасибо.
 
  
   
Всего: 5 < 1 2 3 4 5 >