Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Установка заглушки для почты.  (Прочитано 1438 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн prowoker

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Установка заглушки для почты.
« : 23 Ноября 2011, 00:23:59 »
Здравствуйте. В php я использую функцию для отправки почты. Так вот не могу настроить, чтобы он в определённой какой-нибудь папке складывал мне все письма. Гуглить гуглил.

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Re: Установка заглушки для почты.
« Ответ #1 : 23 Ноября 2011, 01:19:19 »
Сделай обвёртку для функции отправки почты и используй её. Например, свою функцию, где есть "mail" и "file_put_contents".

Оффлайн prowoker

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Установка заглушки для почты.
« Ответ #2 : 23 Ноября 2011, 02:56:47 »
Я не понял как, обьясни чуть подробнее, пожалуйста. А почему нельзя просто настроить sendmail грамотно? Или ещё как сделать почту на Localhost.

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Re: Установка заглушки для почты.
« Ответ #3 : 23 Ноября 2011, 03:23:21 »
Код: (php) [Выделить]
function mymail ( $to, $from, $subject, $message )
{
    $filename = '/var/www/maildir/messages.log';

    $headers = 'From: ' . $from . "\r\n" .
    'Reply-To: ' . $from . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

    $res = mail($to, $subject, $message, $headers);

    if ($res) {
        file_put_contents($filename, $from . "\n" . $to . "\n" . $subject . "\n" . $message . "\n", FILE_APPEND | LOCK_EX);
    }
   
    return $res;
}

Это набросок функции. В ней присутствует дыра для спамеров.

Всё-равно такая функция обычно пишется для предварительных действий перед отправкой сообщений. Например, если на сайте заполняется форма с полем "E-mail отправителя", то необходимо произвести проверку/чистку таких данных, а то появляется дыра для спамеров. Возможно есть необходимость произвести изменение кодировки, оформить в HTML код с multipart/related, сохранить копию в БД и т.д. и т.п. Лучше сразу её писать и использовать потом везде, где надо.

Насчёт sendmail попробуй обратиться в другой подраздел.
« Последнее редактирование: 23 Ноября 2011, 03:39:23 от unimix »

Оффлайн easy2002

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2786
  • Мурманск
    • Просмотр профиля
Tempora mutantur et nos mutantur in illis

 

Страница сгенерирована за 0.032 секунд. Запросов: 22.