كنت أحاول تكوين Raspberry Pi (Raspbian Jessie Lite) كخادم بريد إلكتروني postfix / dovecot لنطاقي dominicgkerr.co.uk. باستخدام مجموعة من الإرشادات الرائعة التي كتبها Sam Hobbs ( https://samhobbs.co.uk/raspberry-pi-email-server ) وPestmeester ( www.pestmeester.nl ) ، تمكنت من إعداد التواصل بنجاح من خلال IMAP (المنفذ 143) و IMAPS (المنفذ 993) و POP3 (المنفذ 110).

من الناحية المثالية ، أود منع حركة المرور عبر منافذ IMAP و POP3 غير الآمنة ، وقررت إيقاف تشغيل المنفذين 143 و 110 من أجل خدمة حركة المرور حصريًا عبر IMAPS و POP3S (المنفذ 995). يبدو أن إيقاف تشغيل المنفذ 143 يعمل بشكل جيد ، ويتم التعامل مع طلبات IMAPS بنجاح من خلال 993 والتحقق منها باستخدام شهادة ssl المثبتة.

ومع ذلك ، فإن تجربة نفس الحيلة مع منافذ POP3 لا تعمل ، ولا يمكنني طوال حياتي أن أكون قادرًا على إعداد شهادات SSL الخاصة بي مثل طريقة اتصال Gmail / Thunderbird / openssl بـ raspberry pi عبر POP3S:

  • يرفض Gmail ببساطة الاتصال عند محاولة إعداد خدمة "التحقق من البريد الإلكتروني من حسابات أخرى (باستخدام بروتوكول POP3)"
  • يشتكي Thunderbird من أن اتصال POP3S لخادمي به "هوية غير معروفة"
  • ويؤدي اختبار الاتصال محليًا مع Openssl إلى إرجاع رمز التحقق من العودة 21 (غير قادر على التحقق من الشهادة الأولى) ، وإعطاء "-ERR أمر غير معروف" عند محاولة تسجيل الدخول باستخدام "مرور مستخدم تسجيل الدخول" ...

لقد اشتريت شهادة Comodo ssl للخادم ، وأشرت إلى كل من postfix (باستخدام /etc/postfix/main.cf) و dovecot (باستخدام /etc/dovecot/conf.d/10-ssl.conf) إلى موقعه في /etc/ssl/certs.

هل يحتاج بروتوكول POP3S إلى شهادة SSL مختلفة عن تلك المستخدمة بواسطة IMAPS (على سبيل المثال ، هل يتطلب سلسلة الشهادات الكاملة - يبدو أن IMAPS يعمل بشكل جيد بدونها)؟ على الرغم من الإشارة إلى سلسلة شهادات (صحيحة الآن) ، إلا أنني غير قادر على الاتصال بالخادم الخاص بي عبر pop3s. لقد تحققت من أن جدار حماية ipTables الخاص بي لا يمنع حركة المرور فوق 995 ( -A INPUT -p tcp --dport 995 -j ACCEPT) ، وقمت بتعيين المستمعين التاليين /etc/dovecot/conf.d/10-master.conf:

service imap-login {
  inet_listener imap {
    port = 0
    #Previously port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}

service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}

أيه أفكار؟ إذا كان هناك أي ملفات postfix / dovecot والتي سيكون من المفيد النظر إليها للمساعدة في تشخيص الخطأ ، فسيسعدني لصقها أدناه ... شكرًا مقدمًا!


تحرير - Fixed Openssl Return Code 21 بعد التلاعب بشهاداتي مرة أخرى ، أدركت أنني قد أخطأت في تثبيت سلسلة الشهادات المطلوبة. الآن يؤدي الاتصال بـ pop3s عبر Openssl إلى إرجاع رمز التحقق 0 (موافق) ، ولكن ما زلت لا تحب محاولاتي لتسجيل الدخول باستخدام "مرور تسجيل الدخول" (إرجاع "-Err أمر غير معروف" كما كان من قبل) ... هل هذا هو بناء الجملة الصحيح؟ إنه يعمل بشكل جيد عند استخدام Openssl للاتصال عبر imaps!


تحرير - ثندربيرد شكوى هوية مجهولة Yikes! يبدو الآن أن Thunderbird سيسمح لي بإعداد حساب pop3s آمن لتلقي البريد الإلكتروني من خادمي. لقد غيرت بعض الأشياء منذ آخر اختبار لهذا (لقد كنت أتلاعب أيضًا بإعداد nginx لتشغيل خادم ويب بالتوازي) ، لكنني أظن أن تثبيت سلسلة شهادات SSL الكاملة (الصحيحة) ساعدت ...


تحرير - OpenSSL -ERR أمر غير معروف نعم أنا أحمق ... بناء جملة تسجيل الدخول الصحيح هو ببساطة "اسم مستخدم المستخدم" ، متبوعًا بـ "مرور كلمة المرور".


تحرير - عنوان السؤال المنقح بعد إصلاح بعض الأخطاء الغبية ، تم تبسيط سؤالي إلى حد ما ؛ هل هناك أي مكون إضافي / تكوين / اختراق / سبب غير منطقي لعدم تمكن Gmail باستمرار من التحقق من رسائل البريد الإلكتروني (عبر pop3s) التي يقدمها raspberry pi؟ يبدو أن كل شيء يعمل الآن ؛ هل هناك شيء خفي أفتقده ...

answer

الإجابة - Gmail "تحقق من البريد الإلكتروني من حسابات أخرى (باستخدام بروتوكول POP3)" اجعل ذلك أحمقًا في مربع اختيار غير محدد! يسألك Gmail في الواقع ، ومفيدًا ، عما إذا كنت ترغب في "استخدام اتصال آمن (SSL) دائمًا عند استرداد البريد" ؛ يبدو أنه لا يمكنك الاتصال عبر pop3s بدونها ... شكرًا للسماح لي بالتشدق.