Ещё один простой блог в интернете, одного из жителей Сызрани, который считает себя дизайнером, WEB-мастером и фотографом-любителем

просто блог

QR CODE для записиQR CODE для записи “Заглушка рассылки e-mail для OpenCart (ocStore)”

Заглушка рассылки e-mail для OpenCart (ocStore)

Очень часто на localhost не настроен mail/smtp сервер и OpenCart может выдавать ошибку, а иногда нет необходимости рассылать реальные письма во время разработки. Для удобства отладки рассылки писем достаточно внести небольшие изменения в файлы /system/library/mail/mail.php или /system/library/mail/smtp.php (в зависимости от того, как будете совершать в будущем рассылку).

MAIL

В случае mail находим в районе 70х строк после завершения цикла foreach(){} строки $message .= ‘—‘ . $boundary . ‘—‘ . PHP_EOL; и ini_set(‘sendmail_from’, $this->from); и между ними добавляем

$message = str_replace("\r\n", "\n", $header . $message);
file_put_contents('ТУТ_ПУТЬ_ДО_ПАПКИ_ГДЕ_БУДЕМ_ХРАНИТЬ/mail.txt', $message);
return true;

Получается

$message .= '--' . $boundary . '--' . PHP_EOL;

$message = str_replace("\r\n", "\n", $header . $message);
file_put_contents('ТУТ_ПУТЬ_ДО_ПАПКИ_ГДЕ_БУДЕМ_ХРАНИТЬ/mail.txt', $message);
return true;

ini_set('sendmail_from', $this->from);

SMTP

В случае smtp находим в районе 80х строк после завершения цикла foreach(){} строки $message .= ‘—‘ . $boundary . ‘—‘ . PHP_EOL; и if (substr($this->smtp_hostname, 0, 3) == ‘tls’) { и между ними добавляем:

$message = str_replace("\r\n", "\n", $header . $message);
file_put_contents('ТУТ_ПУТЬ_ДО_ПАПКИ_ГДЕ_БУДЕМ_ХРАНИТЬ/mail.txt', $message);
return true;

Получается

$message .= '--' . $boundary . '--' . PHP_EOL;

$message = str_replace("\r\n", "\n", $header . $message);
file_put_contents('ТУТ_ПУТЬ_ДО_ПАПКИ_ГДЕ_БУДЕМ_ХРАНИТЬ/mail.txt', $message);
return true;

if (substr($this->smtp_hostname, 0, 3) == 'tls') {

Вместо «ТУТ_ПУТЬ_ДО_ПАПКИ_ГДЕ_БУДЕМ_ХРАНИТЬ» лучше добавить абсолютный путь, типа «www/mysiteru/», либо можно писать в папку с этими файлами, написав через суперконстанту __DIR__ (но это очень плохая практика) file_put_contents(__DIR__.’/mail.txt’, $message);

Данный код будет ВСЕГДА перезаписывать файл. Это удобно для быстрой отладки, открыв файл в редакторе, который будет обновляться при изменение. Но если надо дозаписывать файл, то в file_put_contents надо добавить флаг FILE_APPEND

file_put_contents('ТУТ_ПУТЬ_ДО_ПАПКИ_ГДЕ_БУДЕМ_ХРАНИТЬ/mail.txt', $message,FILE_APPEND);

PS Не забудьте вернуть всё как было при заливание на сервер/хостинг!

Оставить комментарий

В блоге включена ручная модерация комментариев. Нет смысла повторно отправлять комментарий.
Поля отмеченный звездочкой * обязательны к заполнению

Перед отправкой формы: