Борьба со спамом
Чтобы упростить жизнь антиспам-фильтрам и увеличить вероятность что ваша почта ими не зарубится можно воспользоваться SPF (Sender Policy Framework) http://www.openspf.org/, правда решение годится только если у вас собственный домен и полный доступ к настройкам DNS сервера вашей зоны.
Если коротко то основная идея следующая - владелец домена, ну скажем maxistar.ru добавляет в зону следующую запись
maxistar.ru. IN TXT "v=spf1 a mx ~all"
данная запись означает что письма имеющие адреса типа xxx@maxistar.ru могут быть отправлены только с сервера IP которого соответствует серверу maxistar.ru или с сервера на который указывают MX записи этого сервера.
когда на какой-либо SMTP сервер поддерживающий механизм SPF приходит сообщение, то сервер проверят у сервера адрес которого указан в адресе письма наличие TXT записи, которая начинается с v=spf1, затем сравнивается эта запись с IP адресом откуда выполняется запрос, если IP удовлетворяет правилу прописанному в SPF записи - письмо проходит, если нет - письмо отклоняется.
Так, если я попытаюсь отправить письмо с какого-нибудь другого SMTP сервера, например через SMTP своего Интернет-провайдера, то мое письмо скорее всего будет отклонено, т.к. оно будет послано с неразрешенного хоста.
Замечательная особенность этого механизма в том, что письмо может быть отклонено ДО его пересылки на сервер, что разгружает каналы и экономит машинное время.
Афоризм дня
"Компьютеры хороши тем что они делают то что вы просите их делать, однако их большой недостаток в том что они делают в точности то о чем вы их попросили"
Тед Нельсон
Трудно свормулировать по русски так чтобы хорошо звучало, но подмечено очень точно...
Демон на Питоне
Встала задача: есть некий сервер написанный на Питоне который слушает некий порт, выполняет запросы, в общем работает - теперь нужно запустить этот сервер как демон. В шеле такая задача решается просто добавлением амперсенда после вызова команды запуска:
server.py > logfile &
Однако хочется чтобы наш сервер запускался автоматически после того как сервер был рестартован, для этого нужно создать скрипт запуска в директории /etc/init.d
Почему то поиск в Интернете дал на удивление мало готовых рецептов, поэтому решил написать свой вариант такого скрипта - благо у меня уже была заготовка от одного старого проекта на java. В случае Питоном скрипт оказался даже проще.
как поставить заголовок Return-Path к письму посылаемому командой mail
я уже писал в блоге что можно поправить php.ini добавив
mail.force_extra_parameters = "-f your@emailaddres.ru"
но более удобно использовать пятый аргумент функции mail:
$email = "mail@yourdomain.ru"; $return_path = "mail@yourdomain.ru"; $from_path = "admin@yourdomain.ru"; $subject = "text message"; $content = "content of email"; $headers = "Content-Type: text/plain;\n"; $headers .= "Content-Transfer-Encoding: 7bit;\n"; $headers .= "Return-Path: <".$return_path.">\n"; $headers .= "From: <".$from_path.">\n"; $extra = '-f '.$return_path; mail($email, $subject, $content, $headers, $extra);