Отправка e-mail из консоли

Появилась необходимость отправить простейшее электронное письмо из консоли роутера. Никаких встроенных средств работы с почтой у него нет, да и не нужны они. Делов-то - подключился к smtp-серверу, отправил 4 команды и готово. Оказалось, всё не так просто...

ssmtp - перловый скрипт. Перла в роутере нет.

busybox sendmail никак не хотел работать. Пришлось немного поправить код и отучить его от EHLO. Тогда он завалился на MAIL FROM. Бросил.

tcpconnect мог бы стать хорошим решением, но подружить его с chat я так и не смог. Похоже, что в линуксе можно перенаправить вывод первого скрипта на ввод второго, но одновременно с этим нельзя перенаправить вывод второго на ввод первого. Интерактивного решения не получилось.

netcat стал, хоть и не красивым, но решением. Организовать ожидание ответа сервера не получилось, пришлось ограничиться паузами между командами. Итог - найденный на просторах интернета и переработанный под себя скрипт:


#!/bin/sh
SERVER="mailserver 25"
USER="user"
HOSTNAME="hostname"
EMAIL_TO="address@server"
EMAIL_SUBJECT="subject"
EMAIL_DATA="this
is
test."

(sleep 5
echo HELO $HOSTNAME
sleep 5
echo MAIL FROM: $USER@$HOSTNAME
sleep 5
echo RCPT TO: $EMAIL_TO
sleep 5
echo DATA
sleep 5
echo From: $USER@$HOSTNAME
sleep 1
echo To: $EMAIL_TO
sleep 1
echo Subject: $EMAIL_SUBJECT
sleep 1
echo $EMAIL_DATA
sleep 1
echo '.'
sleep 5
echo QUIT) | busybox nc $SERVER

Gondola и другие

Есть интересная кроссплатформенная игра Gondola. Хорошая логическая штука. Вот только работать как следует она не хотела - чёрный экран и музыка. Оказалось, надо удалить файлы libGL.so.1 и libGLU.so.1 в папке игры и графика появится!

А еще есть сайт, набитый интересными флэшовыми играми: Physics Games. Мне особенно понравилась Nitrohaul. Рекомендую :)

Linux Mobile: Введение

Хорошая статья о мобильном Линуксе. Есть небольшой исторический экскурс и рассмотрены разнообразные современные проекты. Некоторые из них я уже использую (busybox), некоторые только собираюсь посмотреть (buildroot).

Ссылка: http://www.ibm.com/developerworks/ru/library/l-linuxMobile_1/index.html?S_TACT=105AGX99&S_CMP=GR01