Mail-in-a-Box email

I used Mail-in-a-Box email during setup to use with Discourse. Mail-in-a-Box is an automatic self hosted email system where you run the script on a new Ubuntu 14.04 box with a dedicated domain name for email and it sets up everything for you and all you need to do is create email accounts and update the software regularly. I recommend it for managing your own email and it works for setting up an account for use with websites. I made server@r3df0x.net and I use that to send email from websites. You aren’t dependent on any third party service if you host your own email.

I ran into a problem where I couldn’t get the first activation email so I activated my account manually. I successfully sent a test email from the admin panel so it looks like email will work now. I rebuild the app several times since then and I changed the nameservers used by the email box to what it looks like Mail-in-a-Box expects, so this might have helped mail delivery.

Cheap hosting for Mail-in-a-Box

Since one of the obvious goals of using Mail-in-a-Box is reducing expenses, it would make sense to host it on a very cheap hosting.

I initially wanted to use a 2.5$/mo VPS at Vultr. However, they refused opening SMTP ports, so I switched to a $5/mo DigitalOcean. Anyway, you’ll definitely want a dedicated VPS for your mail service.

Because that tiny VPS only has 512 MB RAM, you should setup a 2GB swap file before installing Mail-in-a-Box.

Dedicated domain name (cheap, too)

It’s advisable by Mail-in-a-Box to have a separate domain.

By comparing domain renewal and registration prices for various .TLDs at namecheap.com, I discovered one of the cheapest one is .com.de:

.work $6.88
.space $7.88
.one $8.88
.me.uk $5.69
.ws $8.88
.space $7.88
.bid $5.58 (5+ years)
.link $8.88
.com.de $4.88 (! cheapest)

Take into account that while registration price can be discounted, the regular renewal price may be high. So don’t forget to expand the “Renew” price section and search in there.

Please note with .com.de you won’t be able to setup DNSSEC, which improves email security, because this particular TLD (domain extension) does not support DNSSEC at the registry level (citing namecheap).

Step by step

Register domain name.

Create your new VPS, set its hostname to the domain name you just bought.

Check VPS’s IP against blacklists in MXToolbox. If blacklisted, destroy VPS and create a new one, and repeat until you find an IP that’s not blacklisted.

Mail-in-a-box can manage nameservers for you, but if you want to setup this way, first check whether your TLD requires two different IP addresses for nameservers, and whether you’re ready to purchase one more IP address. For instance, DO doesn’t allow more than 1 IP per droplet, so with a .com.de you won’t be able to get Mail-in-a-box to manage your DNS for you.

So, if you went this way, in your domain control panel, set two nameservers for the domain you just bought:

ns1.your-mail-dedicated-domain.com
ns2.your-mail-dedicated-domain.com

— Make both link to your VPS IP address(es). (instructions for namecheap.com)

Finally, setup Mail-in-a-box and follow instructions as by the link. The automatic installation process may take 10+ minutes, especially on small VPS.

Multiple domains

Mail in a box may service emails for multiple domains.

So I’m slowly migrating all my small projects from using 3rd party mail hosting (sometimes not free) to my own Mail-in-a-box (free in terms of direct expenses, but not free in terms of my time spent on configuration and maintenance). Ask me in a private message if you want me to setup a dedicated mail-in-a-box for you in your VPS.

Note that you will still suffer from poor deliverability until systems learn to trust the IP you are sending from, which takes time and email delivery over a period of many months. And some systems will categorically never trust mail sent from shared hosting IP ranges.

فقط أردت أن أبلغكم أنه بعد حوالي عام ونصف، لا زلت سعيدًا بـ Mail-in-a-Box، ولم يعد تسليم الرسائل يمثل مشكلة منذ أن اكتسبت عنوان IP سمعة جيدة بفضل طريقة Discourse في تقييم المستلمين.

أعرف القليل جدًا عن موضوع “السمعة”، لكنني أظن أنه كلما طالت المدة التي ترسل فيها رسائل غير مزعجة من عنوان IP الخاص بك، تحسنت سمعتك.

سأستمر في استخدام خادم Mail-in-a-Box المخصص لي بتكلفة 5 دولارات شهريًا، وسأستخدمه الآن لثلاثة منتديات.

شكرًا لك. لقد كنت أؤجل تشغيل خادم بريد لسنوات عديدة، لكن عدة أمور ستصبح أسهل إذا قمت بذلك. سعيد لأن الأمور تنجح معك.

إذا واجه الآخرون هذه المشكلة وأنا أيضًا، قم بإنشاء حساب مجاني على Mailjet وتحقق من إعدادات SPF وDKIM الخاصة بنطاقك في إعدادات MiaB الخاصة بك. ستظل قادرًا على استخدام عنوان البريد الإلكتروني notifications@ أو حتى no-reply@ في حسابك على Miab، ولكن بالنسبة لبريد المعاملات المستضاف الآخر للتطبيقات مثل Discourse، ستعمل بيانات الاعتماد التي تحصل عليها من Mailjet وتقلل من التعقيدات في الإعدادات.

PS: أعتقد أنه كانت هناك حالات حيث كان بإمكاني، إذا كنت صبورًا جدًا أثناء الإعداد، جعل إعدادات Miab تعمل، لكنني فقط أريد مساعدة شخص قد يكون استخدم بيانات اعتماد البريد الإلكتروني المستضاف ذاتيًا الخاص به ولا يزال ينتظر البريد الإلكتروني النهائي للمصادقة لإكمال التثبيت والذي لا يبدو أنه يأتي أبدًا. عندما قمت بالتبديل إلى مستخدم Mailjet الخاص بي، ظهر البريد الإلكتروني خلال بضع دقائق.

نستخدم mailcow مع تثبيتنا لـ Discourse، وتصل رسائل البريد الإلكتروني بنجاح إلى 99% من المستخدمين. أما النسبة المتبقية البالغة 1% وهم مستخدمو Hotmail، فننصحهم باستخدام عنوان بريد إلكتروني آخر.

أشارككم أحدث إعدادات SMTP الخاصة بـ Discourse التي تعمل مع mail-in-a-box، حيث اضطررت لتثبيت نسخة جديدة من Discourse:

  DISCOURSE_SMTP_ADDRESS: my.smtp.domain.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: mailer@mydomain.com
  DISCOURSE_SMTP_PASSWORD: mypassword
  DISCOURSE_SMTP_ENABLE_START_TLS: true           # (اختياري، الافتراضي true)
  DISCOURSE_SMTP_DOMAIN: mydomain.com
  DISCOURSE_SMTP_AUTHENTICATION: "plain"
  DISCOURSE_NOTIFICATION_EMAIL: mailer@mydomain.com
  DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none

ملاحظة: إذا كنت ترسل من نطاق تم تسجيله مؤخرًا، فتوقع أن يقوم SpamAssassin بخفض نتيجتك بشكل مصطنع:

هذا عقوبة كبيرة بالفعل!