کانتینر dovecotsmtp شامل سرویس postfix و dovecot هست
کانتینر Roundcubemail شامل php و اسکریپت roundcube هست که بعنوان کلاینت عمل میکنه .
کانتینر Roundcubemail که به dovecotsmtp وصل هست و ارسال و دریافت ایمیل هم مشکلی نداره و ایمیل های ارسالی هم در اسپم قرار نمیگیرن . دامنه ها از ssl استفاده میکنه و کلیدها هم از سایت letsencrypt گرفته شده . سرویس smtp و imap با دستورات زیر تست شدن و مشکلی نداشتن
در حال حاضر دیسکورس بالا میاد ولی برای ساختن کاربر ادمین ، باید یک ایمیل ارسال بکنه ولی با اینکه پیام موفق در ارسال رو در قسمت وب میده ولی چیزی نمیفرسته
کانتینر discourse که به کانتینر dovecotsmtp وصل هست از نظر شبکه مشکلی ندارند و در دو طرف پینگ هم دیگه رو دارند .
تنظیمات سرور smtp برای فایل app.yml مربوط به discourse به صورت زیر هست (به غیر از ip و port بقیه موارد عوض شده )
=============================================
یکبار tls رو در فایل app.yml غیر فعال کردم و دوباره discourse رو rebuild کردم
DISCOURSE_SMTP_ENABLE_START_TLS: false
که خطای زیر رو گرفتم . بعد دوباره tls رو فعال کردم
lost connection after EHLO
فعلا در حال بررسی هستم ببینم چه موارد دیگه ای هست تا بتونم مشکل رو رفع کنم . چون ارسال و دریافت ایمیل خارج از سرور با ترمینال و خارج از سرور با کانتینر دیگه ای داره انجام میشه ولی دیسکورس نمیفرسته چیزی عجیه
روی پورت ۲۵ تست کردم الان ولی همون وضعیت بود . سوال اینجاست چرا روی پورت ۲۵ ۵۸۷ ۹۹۳ خارج از داکر روی سرور و خارج سرور روی کلاینت مشکلی وجود نداره ولی مشکل داخل کانتینر هست
درود
من شبکه رو یه بررسی کردم به نظر نمیومد مشکلی داشته باشه ولی با این حال تغییرات زیر رو اعمال کردم
ارتقا نسخه docker compose از 2 به 3.7
حذف ipهای استاتیک از روی کانتینرها
جهت تست به همه کانتینرها دسترسی خارج از شبکه هم دادم .
یه سری رول اضافه توی فایروال بودم پاک کردم
نوع شبکه ای که فعلا برای داکر استفاده میکنم bridge هست
ولی باز هم مشکل رفع نشد
بعد گفتم شاید مشکل از postfix باشه یه تغییرات هم توی فایل main.cf مربوط به postfix دادم در قسمت mynetworks و smtpd_relay_restrictions
smtpd_recipient_restrictions ولی مشکل حل نشد.
حتی این دستور هم داخل کانتینر کار نمیکنه فقط روی شبکه داکر کار میکنن
طبق بررسی که انجام دادم مشکل از iptables بود . اول سرویس داکر رو غیر فعال کردم . همه رول ها iptables رو حذف کردم . دوباره سرویس داکر رو فعال کردم که رولهای خودش رو ساخت . چک کردم دستور زیر رو