Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
flanker — مكتبة بايثون لتحليل عناوين البريد الإلكتروني و MIME | Kitploit
أدوات/GitHubGitHub/mailgun/flanker
أدوات عامةالبرمجة النصية والأتمتةالأدوات والمكونات
GitHubmailgun/flanker

flanker

مكتبة بايثون لتحليل عناوين البريد الإلكتروني و MIME

عرض المستودعالموقع الإلكتروني
1.6k214منذ 4 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Flanker - تحليل عناوين البريد الإلكتروني و MIME بلغة Python

.. image:: https://travis-ci.org/mailgun/flanker.svg?branch=master :target: https://travis-ci.org/mailgun/flanker

.. image:: https://coveralls.io/repos/github/mailgun/flanker/badge.svg?branch=master :target: https://coveralls.io/github/mailgun/flanker?branch=master

Flanker هي مكتبة تحليل مفتوحة المصدر مكتوبة بلغة Python بواسطة فريق Mailgun. يتكون Flanker حالياً من مكتبة لتحليل العناوين (flanker.addresslib) بالإضافة إلى مكتبة لتحليل MIME (flanker.mime).

التوثيق المفصل متاح في دليل المستخدم <https://github.com/mailgun/flanker/blob/master/docs/User%20Manual.md>_ وكذلك في مرجع API <https://github.com/mailgun/flanker/blob/master/docs/API%20Reference.md>_. فيما يلي دليل البدء السريع.

إصدارات Python

يتم استخدام Flanker بشكل كبير من قبل Mailgun <www.mailgun.com>_ في الإنتاج مع Python 2.7. إصدار الإنتاج الحالي هو v0.8.5.

تمت إضافة دعم Python 3 في الإصدار v0.9.0 بناءً على طلب شائع من المجتمع. نحن لا نستخدم Flanker مع Python 3 داخلياً. كل ما نعرفه هو أن الاختبارات تنجح مع Python 3.6، لذا استخدمه على مسؤوليتك الخاصة. لا تتردد في الإبلاغ عن مشاكل محددة متعلقة بـ Python 3 إذا رأيت أي منها.

التثبيت

يمكنك تثبيت flanker عبر pip أو استنساخ المستودع من GitHub.

ستحتاج إلى ملفات رؤوس Python قبل البدء في العمل مع flanker، لذا قم بتثبيتها أولاً:

.. code-block:: bash

ubuntu

sudo apt-get install python-dev

fedora

sudo yum install python-devel

إذا كنت تستخدم pip، اكتب ببساطة:

.. code-block:: bash

pip install flanker

إذا كنت تستنسخ من GitHub، يمكنك كتابة:

.. code-block:: bash

git clone [email protected]:mailgun/flanker.git cd flanker pip install -e .

تحليل العناوين

لتحليل صندوق بريد واحد (اسم العرض وكذلك عنوان البريد الإلكتروني):

.. code-block:: py

from flanker.addresslib import address

address.parse('Foo [email protected]') Foo [email protected]

يتم إرجاع العنوان غير الصالح كـ None:

.. code-block:: py

from flanker.addresslib import address

print address.parse('@example.com') None

لتحليل عنوان بريد إلكتروني واحد (بدون اسم عرض):

.. code-block:: py

from flanker.addresslib import address

address.parse('[email protected]', addr_spec_only=True) [email protected]

لتحليل قائمة عناوين:

.. code-block:: py

from flanker.addresslib import address

address.parse_list(['[email protected], [email protected], @example.com']) [[email protected], [email protected]]

لتحليل قائمة عناوين وكذلك إرجاع صف (tuple) يحتوي على العناوين التي تم تحليلها والأجزاء غير القابلة للتحليل

.. code-block:: py

from flanker.addresslib import address

address.parse_list(['[email protected], [email protected], @example.com'], as_tuple=True) [[email protected], [email protected]], ['@example.com']

لتحليل قائمة عناوين في الوضع الصارم:

.. code-block:: py

from flanker.addresslib import address

address.parse_list(['[email protected], [email protected], @example.com'], strict=True) [[email protected], [email protected]]

للتحقق من صحة عنوان بريد إلكتروني (التحليل بالإضافة إلى فحوصات DNS ووجود MX وقواعد ESP النحوية):

.. code-block:: py

from flanker.addresslib import address

address.validate_address('[email protected]') [email protected]

للتحقق من صحة قائمة عناوين:

.. code-block:: py

from flanker.addresslib import address

address.validate_list(['[email protected], [email protected], @mailgun.com'], as_tuple=True) ([[email protected], [email protected]], ['@mailgun.com'])

تحليل MIME

في الأمثلة التالية، سيتم تعيين message_string إلى رسالة MIME التالية:

::

MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=001a11c1d71697c7f004e6856996 From: Bob [email protected] To: Alice [email protected] Subject: hello, world Date: Mon, 16 Sep 2013 12:43:03 -0700

--001a11c1d71697c7f004e6856996 Content-Type: text/plain; charset=us-ascii

Hello, Alice

--001a11c1d71697c7f004e6856996 Content-Type: text/html; charset=us-ascii

Hello, Alice

--001a11c1d71697c7f004e6856996--

لتحليل رسالة MIME:

.. code-block:: py

from flanker import mime

msg = mime.from_string(message_string)

ترويسات رسالة MIME (قاموس unicode متعدد القيم مع الترويسات):

.. code-block:: py

from flanker import mime

msg = mime.from_string(message_string) msg.headers.items() [('Mime-Version', '1.0'), ('Content-Type', ('multipart/alternative', {'boundary': u'001a11c1d71697c7f004e6856996'})), ('From', 'Bob [email protected]'), ('To', 'Alice [email protected]'), ('Subject', 'hello, world'), ('Date', 'Mon, 16 Sep 2013 12:43:03 -0700')]

عضو content_type المفيد مع المسندات:

.. code-block:: py

from flanker import mime msg = mime.from_string(message_string)

msg.content_type.is_multipart() True

msg.content_type.is_singlepart() False

msg.content_type.is_message_container() False

نص الرسالة بعد فك الترميز:

.. code-block:: py

from flanker import mime msg = mime.from_string(message_string)

None because message is multipart

print msg.body None

for part in msg.parts: print 'Content-Type: {} Body: {}'.format(part, part.body)

Content-Type: (text/plain) Body: Hello, Alice Content-Type: (text/html) Body:

Hello, Alice

None because no enclosed messages exist

print msg.enclosed None

تنزيل الأداة