SMS2Mail Forwader

Screenshot_2015-10-22-22-36-13

Сидел я вечером, пил чай с баранками и решил себя попробовать в роли Android Developer’а. Получилось у меня или нет — судить вам.

sms3-03

Итак, задача написать приложение которое пересылает все входящик СМС на указанный почтовый ящик. Естественно, основной функциаонал должна делать служба в фоне. А именно отслеживать входящие СМС и отправлять их на почтовый адрес. Ну и нужно было чтобы служба эта запускалась автоматически при включении/перезагрузке телефона.

Начал я с придумывания дизайна. Основное требования — максимальный минимализм =D. В результате получился вот такой макет, который вы видите слева.

Покодив пару вечеров получилась вот такая незамысловатая программа, скачать которую можно из Play Market: SMS2Mail Forwarder.

Кстати, хотел бы поблагодарить своего дизайнера Оксану Котибенко, которая вдохновившись идеей «для народа все должно быть Free«, нарисовала мне замечательное лого для приложения

Внедряем email-аутентификацию DKIM в Postfix за 5 минут

Работал у нас почтовый сервер для рассылки корреспонденции клиентам. И все бы ничего, но стал люд жаловаться, что не доходят письма или  в спам попадают. И хотя spf был настроен, все говорило о том, что пора нам к нашему Postfix прикрутить DKIM. Как гласит цитата откуда-то с хабра:

Для начала установим необходимый софт командой

После установки необходимо отредактировать файл /etc/opendkim.conf, добавив в него строки

Теперь создадим рабочий каталог,а в нем новый приватный и открытый ключ. Открытый ключ мы потом пропишем на нашем DNS-сервере.

В каталоге /etc/opendkim у вас должно появиться 2 новых файла. mail.private — это наш приватный ключ, которым мы будем подписывать письма. А mail.txt содержит публичный ключ. Список имеющихся ключей укажем в файле /etc/opendkim/keytable в формате «название домен:селектор:/путь/до/ключа». В нашем случае содержимое файла будет таким:

Теперь объясним OpenDKIM почту каких доменов какими ключами подписывать в файле /etc/opendkim/signingtable в формате «домен название-ключа».

В файле /etc/opendkim/trusted необходимо прописать ваши доверенные узлы:

Зададим необходимые права, добавим пользователя postfix в группу opendkim. Это нужно чтобы postfix смог отправлять письма на подпись через сокет OpenDKIM. После чего перезапустим службу. Я рекомендую заглянуть в системный лог и убедиться, что нет ошибок при запуске службы.

Вторым этапом настроим postfix, чтобы он мог подписывать нашу почту. В main.cf необходимо добавить:

Ну и опять рестарт/релоад

Третьим и последним этапом мы настроим наш DNS сервер добавив в него TXT запись. Выведите содержимое файла mail.txt и используйте следующую пару ключ-значение для добавления новой записи в DNS.

Для применения изменений в DNS может пройти несколько часов. Проверить DKIM-подпись вы можете отправив пиьсмо через свой сервер на ящик [email protected] Ответное письмо вы получите в виде отчета. Например:

Полезные ссылки:

Hostname does not match the server certificate в Redmine

Приведу пример конфигурации почты в Redmine, где нет ошибки Hostname does not match the server certificate:

Expected kind of OpenSSL::SSL::SSLContext в Redmine

При установке нового redmine 2.3.0 и дальнейшей его конфигурации возникает ошибка при отправке почты:

(Expected kind of OpenSSL::SSL::SSLContext))

Лечится эта ошибка добавлением параметра enable_starttls_auto: false в redmine/config/configuration.yml.  Пример:

Для версий redmine, начинающихся ниже 2.3 параметр будет openssl_verify_mode ‘none’. Не забываем перезапустить redmine.

Блокирование отправки email в Postfix

myszaИногда, вы можете столкнуться с задачей блокировки отправителей и получателей почты. В моем случаем данную процедуру мне было необходимо проделать для того, чтобы сервера разработчиков не слали тестовые письма на адреса клиентов.

Собственно в данном примере необходимо создать 2 файла sender_access и recipient_access, в которых и определим тех, кому / от кого запрещено отправлять почту.

В файле sender_access определяем «черный список» отправителей

В файле recipient_access определяем «черный список» получателей

После этого необходимо выполнить команду postmap, для того, чтобы сгенерировать *.db файлы, которые читает postfix.

После этого в файл конфигурации необходимо определить в файле конфигурации main.cf параметры smtpd_sender_restrictions и smtpd_recipient_restrictions.

Ну и в конце перезапустим postfix

Примеры отправки писем из консоли Linux

Иногда бывает просто необходимо отправить себе письмо. В данной заметке я покажу 2 маленьких примера. Но предварительно нам понадобится утилита uuencode. Если у вас она еще не установлена, то установите ее:

В первом мы отправим простое письмо с текстом. А во втором — отправим письмо с вложением из консоли Linux: