Это команда pyspf, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
pyspf - библиотека SPF на чистом Python
Версия
2.0.9
ОПИСАНИЕ
SPF выполняет проверку отправителя электронной почты. Для получения дополнительной информации о SPF см.
http://www.openspf.org/
Одно несовместимое изменение было внесено в версию 1.7. До версии 1.7 подключения
с локального IP-адреса (127 ...) всегда будет возвращать результат Pass. Особый случай был
устранено. Программы, вызывающие pySPF, не должны проверять SPF локально отправляемую почту.
Этот SPF-клиент предназначен для установки на граничном MTA, проверяя, входит ли входящий SMTP
клиентам разрешено пересылать почту. Проверка SPF должна выполняться во время ПОЧТЫ.
ОТ: <...> команда.
ИСПОЛЬЗОВАНИЕ
Есть несколько способов использовать этот пакет:
Чтобы проверить входящий почтовый запрос:
% pyspf [-v] {ip} {отправитель} {привет}
% pyspf 69.55.226.139 [электронная почта защищена] mx1.wayforward.net
Чтобы проверить запись SPF:
% pyspf [-v] "v = spf1 ..." {ip} {отправитель} {привет}
% pyspf "v = spf1 + mx + ip4: 10.0.0.1 -all" 10.0.0.1 [электронная почта защищена] a
Чтобы получить запись SPF:
% pyspf {домен}
%pyspfwayforward.net
Чтобы протестировать этот сценарий (и вывести это сообщение об использовании):
% pyspf
Например, при обмене SMTP от клиента 69.55.226.139 ::
S: 220 mail.example.com Постфикс ESMTP
C: EHLO mx1.wayforward.net
S: 250-mail.example.com
СУБЪЕКТ: ...
С: 250 8БИТМИМ
C: ПОЧТА ОТ:[электронная почта защищена]>
Затем следующая командная строка проверит, является ли это действительным отправителем:
% pyspf 69.55.226.139 [электронная почта защищена] mx1.wayforward.net
('пройден', 250, 'отправитель авторизован SPF')
Вызовы командной строки возвращают коды результатов RFC 4408, то есть «прошел», «не прошел», «нейтральный»,
«Softfail», «permerror» или «temperror».
RFC 4408/7208 ИСПЫТАНИЕ SUITE
Пакет также устанавливает тестовый драйвер python-spf и текущий (на момент выпуска
date) YAML (еще один язык разметки) Определения тестов RFC 4408/7208. Как ошибки или
одобрены улучшения в определениях тестов, они доступны по адресу:
<http://www.openspf.net/Test_Suite>
Чтобы запустить набор тестов, измените каталог, в котором установлен набор тестов:
$ CD / USR / доля / документ / Python-SPF
Распакуйте testspf.py.gz, testspf.py.gz и rfc4408-tests.yml.gz.
а затем запустите testspf.py:
$ python testspf.py (также работает с python3)
Набор тестов поддерживает несколько разрешенных результатов с предупреждением о нежелательных результатах.
результат. Для текущей версии ожидаемые результаты:
ПРЕДУПРЕЖДЕНИЕ: spfonly в rfc4408-tests.yml, 4.4 / 1: отказ предпочтительнее, чем отсутствие WARN: invalid-domain-
long в rfc4408-tests.yml, ['4.3 / 1', '5/10/3']: permerror предпочтительнее для отказа WARN:
txttimeout в rfc4408-tests.yml, 4.4 / 1: ошибка предпочтительнее, чем temperror WARN: invalid-domain-
пустая метка в rfc4408-tests.yml, ['4.3 / 1', '5/10/3']: permerror предпочтительнее для отказа WARN:
exists-dnserr в rfc4408-tests.yml, 5.7 / 3: ошибка предпочтительнее, чем temperror WARN: spfoverride
в rfc4408-tests.yml, 4.5 / 5: pass предпочтительнее для сбоя WARN: multitxt1 в rfc4408-tests.yml,
4.5 / 5: передать предпочтительнее permerror WARN: mx-limit в rfc4408-tests.yml, 10.1 / 7: нейтральный
предпочтительнее permerror WARN: multispf2 в rfc4408-tests.yml, 4.5 / 6: permerror предпочтительнее
передать WARN: invalid-domain-long-via-macro в rfc4408-tests.yml, ['4.3 / 1', '5/10/3']:
permerror предпочел потерпеть неудачу
Из-за разрешения ряда неоднозначностей в спецификации SPF в RFC 7208,
не должно быть предупреждений для частей набора тестов RFC 7208.
Используйте pyspf в Интернете с помощью сервисов onworks.net