בעיה בשליחת דואר דרך Namecheap Private Email (SMTP) ב-Discourse עצמאי

שלום לכולם,

ניסיתי להגדיר דואר יוצא בהתקנת Discourse בהוסט עצמי, אך עד כה ללא הצלחה. גם עם תמיכה של Namecheap מעורבת, לא הצלחנו לגרום לזה לעבוד. מקווה שמישהו כאן יכול להצביע על מה שאני מפספס.

הגדרה

  • הוסט: DigitalOcean droplet, Discourse מותקן באמצעות שיטת ה-Docker הרשמית (/var/discourse).

  • דומיין: מנוהל דרך Cloudflare (רשומות A מרווחות לאתר, DNS בלבד עבור רשומות MX/דואר).

  • ספק דואר: Namecheap Private Email.

  • גרסת Discourse: הענף האחרון שעבר בדיקות.

מה עובד

  • אני יכול לקבל דואר בתיבת הדואר שלי hello@domain.com ללא בעיות.

  • רשומות DNS של MX, SPF, DKIM ו-DMARC מוגדרות ומאומתות.

  • דואר נכנס דרך Gmail → hello@domain.com עובד.

מה נכשל

  • דואר יוצא (אימיילי הפעלה, אימיילי בדיקה מ-Discourse) לעולם לא מגיע.

  • תמיכת Namecheap אישרה שהפרטים וההגדרות שלי נכונים, אך לא יכלה להסביר מדוע זה נכשל מהשרת.

תצורת app.yml נוכחית

DISCOURSE_SMTP_ADDRESS: mail dot privateemail dot com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: hello at domain dot com
DISCOURSE_SMTP_PASSWORD: “PASSWORD”
DISCOURSE_SMTP_ENABLE_START_TLS: true
DISCOURSE_SMTP_DOMAIN: domain dot com
DISCOURSE_NOTIFICATION_EMAIL: hello at domain dot com DISCOURSE_SMTP_AUTHENTICATION: login

ניסיתי גם פורט 465 עם:

DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_ENABLE_START_TLS: false
DISCOURSE_SMTP_SSL: true

שלבי דיבוג שננקטו

  • אימות רשומות ה-DNS ב-Cloudflare נכונות (MX, SPF, DKIM, DMARC).

  • אישור שפורטים 587 ו-465 אינם חסומים מקומית על ידי UFW/iptables.

  • ניסיון לכפות העדפת IPv4 ב-/etc/gai.conf.

  • בדיקה עם nc ו-openssl → עדיין פג תוקף.

  • אפילו ההוראות של Namecheap עצמם (587 STARTTLS או 465 SSL) מובילות לכשל מהשרת.

שאלה

האם מישהו הצליח להגדיר Namecheap Private Email עם Discourse SMTP?

  • האם יש בעיה ידועה עם DigitalOcean droplets שמגיעים ל-mail.privateemail.com ב-587/465?

  • האם עלי לוותר על Namecheap SMTP ולהשתמש בשירות דואר טרנזקציונלי (Postmark, Mailgun, SendGrid) במקום זאת?

  • האם יש דגל app.yml מיוחד הנדרש עבור ספק זה?

תודה מראש על כל הדרכה. הגעתי לקיר עם ההגדרה הזו.

You should use a transaction mail service like Mailgun, Brevo or Amazon SES. That’s the optimal way to send emails from your forum.

See discourse/docs/INSTALL-email.md at main · discourse/discourse · GitHub

You may also want to check out:

לייק 1

מהי הודעת הכשל?

האם DigitalOcean חוסמת דואר יוצא, כפי שרבים אחרים דיווחו?

האם ניסית את פורט 2525?

לייק 1

Thank you guys for the replies I appreciate it very much.

@pfaffman I am not aware that Digital Ocean is blocking outgoing mail. No i have not tried 2525.

After searching for it I stumbled upon an article they block all outgoing mails Why is SMTP blocked? | DigitalOcean Documentation

I did a little test with:

nc -vz ``smtp.mailgun.org`` 2525 and passed the test. 587 and 465 failed.

I opened a ticked with the request to open these ports.

If they won’t open it I need to look into mailgun, I hope this is free.

if you contact their support for account activation, after change to the plan type setting, you should be fine on a free plan

I always thought of this being very similar to BT mail or Gmail, not suitable for Discourse though.

You could do POP3 polling for receiving mail, but because you have an x86 VPS i’d recommend mail-receiver

לייק 1

DigitalOcean השיבה ושלחה מייל חוזר:

"נשמח לבחון את האפשרות בכך שצוות האבטחה שלנו יבחן מקרוב את פתיחת פורטי ה-SMTP עבורך. כדי שנוכל להבין טוב יותר את הצרכים שלך ולהתקדם בבקשתך, האם תוכל לשתף את הפרטים הבאים לגבי דרישות העסק שלך:

  • איזה סוג של מיילים תשלח (לדוגמה, מיילים טרנזקציוניים, ניוזלטרים וכו’)?

  • האם אתה מתכנן לארח את הדואר האלקטרוני שלך בעצמך או להשתמש בשירות שליחה של צד שלישי?

  • אם אפשר, אנא ספק הקשר לגבי דרישות הפורטים שלך והאם לא ניתן להשתמש בפורטים לא סטנדרטיים או ב-API.

לאחר שנקבל ממך תשובה, נעביר את בקשתך לצוות עם כל הפרטים שסופקו."

במקרה כזה, כדאי לעבור לשימוש בשירות דואר טרנזקציונלי כמו Mailgun (100 מיילים בחינם ליום) או Brevo (300 מיילים בחינם ליום). לאחר מכן, תוכל לעבור לשימוש בפורט 2525 בקובץ app.yml שלך, מכיוון שהוא אינו חסום.

2 לייקים

ברכותינו מצוות התמיכה של DigitalOcean!

אנו מבינים שיש לכם דרישת יישום או צורך עסקי לאפשר פורטים 25, 465 ו-587. עם זאת, עקב המדיניות הנוכחית שלנו, איננו יכולים להיענות לבקשות להסרת ההגבלה על פורטים אלו.

אנו ממליצים להשתמש בפורטים חלופיים אם היישום שלכם מאפשר זאת, כגון פורט 2525. אתם יכולים גם להשתמש ב-REST API עם SendGrid, המאפשר לכם לשלוח מיילים באמצעות בקשות HTTP במקום פרוטוקול ה-SMTP המסורתי, אם זה מתאים לכם, או להשתמש בשירות שליחה אחר של צד שלישי.

אנא אל תהססו לפנות אלינו אם יש לכם שאלות נוספות. אנחנו תמיד כאן בשבילכם!

אז אני אנסה את Mailgun

לייק 1

אולי תמשיך ותאמר שאתה לא צריך 25?

עריכה: לכן אינך צריך להדגים reverse DNS, אם רצית לעשות את מה ש-MailGun עושה עבורך

@Ethsim2 thanks I think it’s clear, like Linode, they closed everything to fight spam only Linode will open up the ports on request but its ok.

I’ll go for MailGun.

2 לייקים

מעולם לא חוויתי בחיי שחשבון חדש לגמרי שלי נחסם LOL
”Mailgun: החשבון שלך מושבת זמנית.”

האם יש שירות SMTP חלופי שאוכל להשתמש בו?

לייק 1