GNU/Linux → Банальна почта

Почта (e-mail)

Хоч і є причини й бажання написати гнівну нотатку про звичайну, живу пошту, все ж йтиметься про електронні листи.

Недавно, завершуючи налаштування одного сайта, постало питання протестувати активацію користувача й скидання забутого пароля. Для даних процедур використовується відправка електронного листа функцією mail.

Звісно, ніякого поштового сервера у мене встановлено не було, так, як ніколи не виникало необхідності, а перспектива возитися з налаштуваннями sendmail мене зовсім не тішила.

Враховуючи, що я перевіряв не саме відправлення листів, а внутрішні механізми активації й відновлення, вирішив обійтися малими затратами. Як відомо, php функція mail не робить нічого екстраординарного, а просто відправляє на стандартний ввід програми, вказаної в php.ini – sendmail_path декілька рядків.

За три хвилини написав на bash код, що вирішував поставлене завдання:

#!/bin/sh

NOW=`date +%Y.%m.%d\ %H:%M:%S`;
DIR='/var/tmp/mails';

echo >$DIR/$NOW.txt;

while read DATA;
do
   echo $DATA >>$DIR/$NOW.txt;
done

exit 0;

Думаю все зрозуміло, при виклику mail, скріпт створює файл з іменем в вигляді поточної дати й часу у вказаному каталозі, та записує туди весь вміст листа. Функціонал звичайно можна й розширити, та мені цього вповні вистачило.

P.S.
Каталог куди складуватимуться листи та з збереженим скріптм повинні бути доступні для користувача, від чийого імені запускається apache, для першого повинні бути права на запис.

Шлях до скріпта потрібно прописати в php.ini – sendmail_path й дати права на виконання.

Теги: , ,
28.12.2009 22:08 Автор: Strange_V Хіти: 171

Напишіть відгук