SnappyMail
عميل بريد إلكتروني بسيط وحديث وخفيف الوزن وسريع يعتمد على الويب.
الشوكة التي تمت ترقيتها وتأمينها بشكل كبير لإصدار مجتمع RainLoop Webmail Community.
نشكر فريق RainLoop على إنتاج منتج PHP 5 الرائع الذي كان جيدًا في الماضي.
متطلبات نظام محدثة، وأداء سريع، وبساطة التثبيت والترقية، وعدم الحاجة إلى قاعدة بيانات - كل هذا يجعل SnappyMail خيارًا جيدًا.
لمزيد من المعلومات حول المنتج، قم بزيارة snappymail.eu.
معلومات حول تثبيت المنتج، راجع صفحة الويكي.
ولا تنس قراءة الويكي بالكامل.
رخصة
تم إصدار SnappyMail بموجب ترخيص GNU AFFERO GENERAL PUBLIC LICENSE الإصدار 3 (AGPL) . http://www.gnu.org/licenses/agpl-3.0.html
حقوق النشر (ج) 2020 - 2024 محفوظة لـ SnappyMail حقوق النشر (ج) 2013 - 2022 محفوظة لـ RainLoop
التعديلات
تحتوي هذه الشوكة من RainLoop على التغييرات التالية:
- صديقة للخصوصية/اللائحة العامة لحماية البيانات (لا: Social، Gravatar، Facebook، Google، Twitter، DropBox، X-Mailer)
- يستخدم المشرف كلمة المرور_hash/password_verify
- محاولات المصادقة الفاشلة المكتوبة في سجل النظام
- تمت إضافة تعليمات Fail2ban
- إي إس2020
- PHP 7.4+ مطلوب
- PHP ملحق mbstring مطلوب
- استبدلت PHP برنامج pclZip بـ PharData وZipArchive
- الوضع المظلم
- تمت إضافة خيار لإزالة ألوان الخلفية/الخط من الرسائل للحصول على "الوضع المظلم" الحقيقي
- تمت إزالة BackwardCapability (الفئة RainLoopAccount)
- تمت إزالة ChangePassword (أعيد تنفيذه كمكون إضافي)
- تمت إزالة دعم POP3
- تمت إزالة دعم الفيديو في الخلفية
- تمت إزالة الحراسة (برنامج مراقبة التطبيقات وتتبع الأخطاء)
- تمت إزالة Spyc yaml
- تمت إزالة OwnCloud
- تم استبدال gulp-uglify بـ gulp-terser
- CRLF => نهايات خطوط LF
- قم بتضمين boot.js وboot.css في ملف Index.html
- إزالة كود JavaScript القديم (الأشياء أصلية هذه الأيام)
- تمت إضافة محرر Squire HTML المعدل كبديل لـ CKEditor
- تم تحديث Sabre/VObject
- قم بفصل رمز JavaScript الخاص بالمسؤول عن رمز المستخدم
- قم بتقسيم رمز JavaScript المحدد لـ Sieve من رمز المستخدم
- إحياء JSON
- إدارة أفضل لجمع البيانات المهملة في الذاكرة
- وأضاف عامل الخدمة للإخطارات
- تمت إضافة محرر النصوص البرمجية المتقدم لـ Sieve
- تقليص حجم ملفات اللغة
- تم استبدال حزمة الويب بنسخة مجمعة
- لا يوجد اكتشاف لوكيل المستخدم (استخدم عرض الجهاز)
- تمت إضافة دعم لتحميل المكونات الإضافية مثل .phar
- استبدال مكتبة صابر القديمة
- تدعم جهات اتصال AddressBook MySQL/MariaDB utf8mb4
- تمت إضافة عمليات فحص رؤوس طلبات جلب البيانات الوصفية
- تم تقليل حجم DOM الزائد
- دعم البرامج الجماعية كولاب
- دعم العديد من IMAP RFC
- دعم الصوديوم و OpenSSL للتشفير
- دعم PGP أفضل بكثير
المتصفحات المدعومة
تستخدم هذه الشوكة إصدارات مصغرة/مبسطة من البرامج النصية ولا تدعم Internet Explorer أو Edge Legacy. المدعومة هي:
- كروم 80+
- الحافة 80+
- فايرفوكس 78+
- أوبرا 67+
- سفاري 13.1+
إزالة جافا سكريبت القديمة
والنتيجة هي كود تنزيل أسرع وأصغر (جيد لشبكات الهاتف المحمول).
- تمت إضافة dev/prototype.js لبعض الميزات الإضافية
- تم تعديل Jua.js ليكون بدون jQuery
- تم استبدال الرابط التلقائي بميزة اكتشاف https/البريد الإلكتروني البسيطة
- تم استبدال momentToNode بـ HTML5 المناسب
<time>
- تم استبدال مستمعي تغيير الحجم بـ ResizeObserver
- تم استبدال bootstrap.js باستبدال أصلي
- تم استبدال dev/Common/ClientStorageDriver/* بكائنات تخزين الويب polyfill
- تم استبدال *Ajax بفئات *Fetch لأننا نستخدم Fetch API، وليس jQuery.ajax
- تم استبدال knockoutjs 3.4 بنسخة معدلة 3.5.1
- تم استبدال ميزة الضربة القاضية القابلة للفرز بميزة السحب والإفلات الأصلية بتنسيق HTML5
- تم استبدال simplestatemanager بـ CSS @media
- تم استبدال inputosaurus بالكود الخاص
- تم استبدال keymaster بمعالج الاختصارات الخاص
- تم استبدال OpenPGP.js v2 بـ OpenPGP.js v5
- تمت إزالة ifvisible.js
- تمت إزالة بيكادي
- تمت إزالة الشرطة السفلية
- تمت إزالة polyfills
- تمت إزالة Modernizr
- تمت إزالة التمرير النانوي
- تمت إزالة المعرض الضوئي
- تمت إزالة مسج
- تمت إزالة jquery-ui
- تمت إزالة jquery-scrollstop
- تمت إزالة عجلة الماوس jquery
- تمت إزالة Matchmedia-polyfill
- تمت إزالة momentjs (استخدم Intl)
- تمت إزالة opentip (استخدم CSS)
- تمت إزالة الرمز غير التابع للمجتمع (المعروف أيضًا باسم Prem/Premium/License).
- تمت إزالة ProgressJS
RainLoop 1.17 مقابل SnappyMail
شبيبة/* | RainLoop | لاذع |
---|
admin.js | 2.170.153 | 84.925 |
app.js | 4.207.787 | 447.263 |
boot.js | 868.735 | 4.343 |
libs.js | 658.812 | 233.728 |
sieve.js | 0 | 91.418 |
polyfills.js | 334.608 | 0 |
عامل الخدمة.js | 0 | 285 |
المجموع | 8.240.095 | 861.962 |
شبيبة/دقيقة/* | RainLoop | لاذع | رل غزيب | سم غزيب | آر إل بروتلي | إس إم بروتلي |
---|
admin.min.js | 256.831 | 41.719 | 73.606 | 14.022 | 60.877 | 12.567 |
app.min.js | 515.367 | 202.101 | 139.456 | 68.505 | 110.485 | 58.481 |
boot.min.js | 84.659 | 2.231 | 26.998 | 1.271 | 23.643 | 1.067 |
libs.min.js | 584.772 | 110.646 | 180.901 | 39.518 | 155.182 | 35.207 |
sieve.min.js | 0 | 45.504 | 0 | 11.131 | 0 | 9.917 |
polyfills.min.js | 32.837 | 0 | 11.406 | 0 | 10.175 | 0 |
إجمالي المستخدم | 1.217.635 | 314.978 | 358.761 | 109.294 | 299.485 | 94.755 |
إجمالي المستخدم + الغربال | 1.217.635 | 360.482 | 358.761 | 120.425 | 299.485 | 104.672 |
إجمالي المشرف | 959.099 | 154.596 | 292.911 | 54.811 | 249.877 | 48.841 |
بالنسبة للمستخدم، فهو أصغر بنسبة 66% تقريبًا وأسرع من RainLoop التقليدي.
تغييرات CSS
- حل "الميزات" التي تمت إزالتها من jQuery باستخدام كود CSS الأصلي
- المواضيع تعمل في وضع الهاتف المحمول
- Bugfix قواعد CSS غير صالحة/متعارضة
- استخدم فليكس بوكس
- استخدم مربع الحدود
- قم بتقسيم app.css ليكون لديك admin.css منفصل
- إزالة "تعويم" المدرسة القديمة
- إزالة CSS غير المستخدمة
- تمت إزالة html.no-css
- تمت إزالة dev/Styles/Cmd.less
- تمت إزالة dev/Styles/Scroll.less
- تمت إزالة Internet Explorer من Normalize.css
- تمت إزالة Node_modules/opentip/css/opentip.css
- تمت إزالةNode_modules/pikaday/css/pikaday.css
- تمت إزالة البائعين غير المستخدمين/bootstrap/less/*
- تمت إزالة البائعين/jquery-nanoscroller/nanoscroller.css
- البائعين الذين تمت إزالتهم/jquery-letterfx/jquery-letterfx.min.css
- تمت إزالة البائعين/Progress.js/minified/progressjs.min.css
- تمت إزالة gulp-autoprefixer
المغلق/* | RainLoop | لاذع | رل غزيب | سم غزيب | إس إم بروتلي |
---|
app.css | 340.331 | 85.073 | 46.946 | 17.792 | 15.210 |
app.min.css | 274.947 | 68.272 | 39.647 | 15.615 | 13.636 |
boot.css | | 1.326 | | 664 | 545 |
boot.min.css | | 1.071 | | 590 | 474 |
admin.css | | 30.880 | | 7.045 | 6.127 |
admin.min.css | | 24.959 | | 6.368 | 5.615 |
بي جي بي
يستخدم RainLoop الإصدار OpenPGP.js v2 القديم، ويستخدم SnappyMail v2.12 الإصدار OpenPGP.js v5 وGnuPG وMailvelope. SnappyMail قادر على استخدام وإنشاء مفاتيح ECDSA وEDDSA، بينما لا يقوم RainLoop بذلك.
نظرًا لأن SnappyMail يحاول تحقيق أفضل تجربة للهاتف المحمول، فقد قام بتكوين OpenPGP.js لتجريده من الخدمة.
- إزالة كافة Node.js غير المستخدمة
- قم بإزالة جميع دعم المتصفحات القديمة راجع https://github.com/the-djmaze/openpgpjs للتطوير
OpenPGP | RainLoop | لاذع | رل غزيب | سم غزيب | آر إل بروتلي | إس إم بروتلي |
---|
openpgp.min.js | 330.742 | 546.165 | 102.388 | 169.207 | 84.241 | 138.688 |
openpgp.worker | 1.499 | | 824 | | 695 | |
سكوير مقابل CKEditor
إن تطبيق Squire ليس متوافقًا بنسبة 100% حتى الآن، ولكنه يُظهر الحمل الهائل لـ CKEditor.
لا يزال يجب القيام بما يلي:
- دعم الجداول (مطلوب حقًا؟!؟)
| طبيعي | دقيقة | com.gzip | دقيقة gzip |
---|
سكوير | 122.321 | 41.906 | 31.867 | 14.330 |
ckeditor | ؟ | 520.035 | ؟ | 155.916 |
يبلغ حجم CKEditor بما في ذلك طلبات الأصول السبعة (css، واللغة، والإضافات، والأيقونات) 633.46 كيلو بايت / 180.47 كيلو بايت (gzip).