Discourse ile SMTP hatası

Temiz bir ubuntu sunucu kullandım. İlk olarak Luke Smith’in Emailwiz’ini kurdum. Mail sunucusu sorunsuz çalışıyordu. Mailtester, thunderbird ile denedim. Daha sonra discourse kurdum. Belirlediğim domain üzerinde açılıyordu discourse, admin hesabı oluşturmamı istiyordu. Fakat, benim verdiğim smtp sunucusuyla bana mail atamıyordu. Verdiğim smtp bilgilerinde sorun olmadığına eminim. Kendim thunderbird’den aynı bilgilerle girip mail atıp alabiliyorum. Biraz araştırma yaptım ve smtp sunucusunda 465 portunu kullanmanın böyle bir soruna yol açtığını öğrendim—ve Emailwiz 465 portunu veriyor.

Birkaç saat bunu çözmek için birkaç yöntem denedim, discourse’u tekrar tekrar kurdum ama işe yaramadı. Daha sonra, başka pek alternatif bilmediğim için, Yunohost’un mail sunucusu olarak 587 portunu verdiğini hatırladım. Yunohost kurulu aktif kullandığım sunucuma girip Discourse kurmayı denedim. Burada ise, kurulumu hiç başlatamadım. Bunun sebebi, Yunohost’un nginx ile 80 ve 443 portlarını kullanması ve discourse’un kurulum scriptinin varsayılan olarak bu portlara kurulacak şekilde yapılandırılması. Bununla ilgili biraz araştırma yaptım, kurulum scriptini değiştirerek Discourse’un başka portlara kurulmasını sağlayabiliyormuşuz ama verilen talimatlar beni biraz korkuttu, pek anlamadım.

Soru şu: Emailwize alternatif olabilecek ve tercihen 587 portunu kullanan başka bir smtp yazılımı var mı? yoksa 2. paragrafta anlattığım ve linkini verdiğim çözümü mü denememi önerirsiniz?

Son düzenleyen: @wise 2025-01-11T23:20:37Z

nano ile app.yaml dosyanı düzenle ve smtp portunu değiştir.

SSH ile sunucuna bağlan. Sonra indirdiğin /var/discurse konumuna git. ls ile dizini ideksle. Muhtemelen şu dosyaları göreceksin.

LICENSE  README.md  bin  cids  containers  discourse-doctor  discourse-setup  image  launcher  samples  scripts  shared  templates  tests

container olanın içerisine gir. cd container bu konumda app.yaml dosyan olacak.

nano app.yaml

Açtığında discourse genel ayarları olacak içerisinde.

  DISCOURSE_SMTP_PORT: 587

Değerini değiştir. Senin durumunda şöyle olacak.

  DISCOURSE_SMTP_PORT: 465

Burada dikkat etmen gereken şey Start TLS kapalı olacak şekilde ayarlanmalı.

  DISCOURSE_SMTP_ENABLE_START_TLS: false

veya satırın başıan # koyup yorumlanmasını engelle.

Sonra uygulamayı yeniden ayağa kaldır.

./launcher rebuild app

ilgili satırların örnek nano app.yaml görünümü.

Hocam portu zaten 465 yapıyorum. Fakat uygulamayı böyle çalıştırınca Discourse mail gönderemiyor. İnternette araştırınca smtp portunun 465 olduğu durumda bu sorunu yaşan birçok kişi gördüm. Çözüm önerilerini denedim fakat çalışmadı.

Emailwiz 465 portunu kullanıyor biliyorum, ona göre ayarlıyorum. Ama Discourse bu durumda sıkıntı çıkarıyor.

DISCOURSE_SMTP_ADDRESS: mail.example.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: sadecekullanıcıadi
DISCOURSE_SMTP_PASSWORD: "tırnakiçindesifre"
DISCOURSE_SMTP_ENABLE_START_TLS: true
DISCOURSE_SMTP_DOMAIN: example.com

Lukesmith’in emailwiz ile kurmuşsanız bir de böyle deneyin olmazsa. discourse-doctor aracı da size mailde neyin yanlış olduğunu zaten söyler.

465 ile nasıl bir hata veriyor? Herhangi bir çıktı veya log var mı?

Elinde 587 portlu mail sunucusu olduğunu söylüyorsun o zaman smtp bilgilerine bu mail adresini gir. Sunucunun farklı olmasının bir önemi yok. Yani mail sunucusu ile discoursun aynı sunucuda olması gibi bir zorunluluğun yok.

Hocam 587 portlu yunohost kurulu sunucu benim kişisel sunucum. Açmak istediğim sunucu başka birisi için. Dolayısıyla kendi alan adı var ve e-postaların benim alan adımla gönderilmesini istemem.

Discourse-doctor tanı aracı Net::ReadTimeout hatası veriyor (yalnızca bu gözüküyor). Dediğim gibi araştırdım, 465 portlunu kullanan kişilerin yaşadığını öğrendim. Çözüm yöntemlerini denedim ama başaramadım.

Emailwiz’e alternatif olarak Mail-in-a-box’ı buldum diğer gönderilerden. Bunun smtp portu 587 olarak gözüküyor. Mail-in-a-box’ı deneyeceğim galiba şu an aklıma gelen tek çözüm bu.

Emailwiz github reposundan kurulum komut dosyasına baktığımda SMTP 587 açık görünüyor. Özel bir kurulum yapmadıysan durumu yeniden kontrol et bence.

Kurulum komut dosyasında ilgili satır şöyle:

# Open required mail ports
for port in 80 993 465 25 587 110 995; do
	ufw allow "$port" 2>/dev/null
done

Bu komutla güvenlik duvarından portlar serbest mi kontrol sağla:

sudo ufw status
sudo netstat -tuln | grep :587
sudo netstat -tuln | grep :465

Yeni bir mail sunucusu aramana gerek yok. Emailwiz zaten bir mail sunucusu değildir senin için bir mail sunucusunun gerekliliklerini oluşturan otomasyondur. Eğer 587 portu aktif değilse bunu postfix ve Dovecot ile yapılandırabilirsin ki bence varsayılan olarak kurulumda her iksi de açık gelir.


Hocam ben Emailwiz’in yukarıda ss’ini verdiğim github sayfasında öyle gördüğüm için 465 portunu kullanmaya çalışıyorum. Bu işlerde yeniyim, Emailwiz ile 587 portunu da kullanabileceğimi mi söylüyorsunuz? Discourse kurulumu sırasında 465 yerine 587 portunu girebilir miyim?

Evet yapabileceğini düşünüyorum zira betiğin ilgili satırlarını paylaştım.
https://github.com/LukeSmithxyz/emailwiz/blob/master/emailwiz.sh
63-66 arası satırları ilgili portu açıyor.

portları yukarıda paylaştığım komutlarla kontrol edebilirsin. Kaldı ki kurulumu özelleştirip bu portu açmadıysan bile daha sonra postfix ayarlarını yapıp mail sunucusunu bu portla kullanabilirsin.

Denemek için thunderbird ile 587 portuyla kurulum yapıp anlayabilirsin.

Hocam bahsettiğiniz komutlarla şu çıktıları veriyor:

Thunderbird’e e posta hesabını eklerken otomatik bulduğu smtp ayarlarında port 465 olarak geçiyor. 587 yapıp mail göndermeye çalıştığımda şu hatayı alıyorum:

Bahsettiğiniz port değiştirme işlemini nasıl yapacağımı bilmiyorum. Bir kaynağa yönlendirebilirseniz çok mutlu olurum.

Sunucunda SSL kurulu mu?

postconf | grep submission
postconf | grep smtps

Bu komutların çıktısı nedir?

Bu kılavuza bakabilirsin.
https://makdos.blog/ssl/1204/postfixdovecot-mail-sunucusunda-ssl-nasil-yapilandirilir

Hocam cevabınızı beklerken chatgpt’ye sordum portu değiştirmeyi ve oradan bir iki ayar yaptım. Fakat etkili olmamıştı. Sonra Emailwizi tekrar kurdum yani yaptığım değişikliklerin sıfırlanmasını istedim. Thunderbird ile girmeyi tekrar denedim bu sefer 587 portu seçiliyken STARTTLS seçeneğini seçtim. Böyle çalıştı (bunu denemiştim diye hatırlıyorum ama emin değilim). Discourse’da çalıştı, mail gönderiyor.

Teşekkür ederim hocam yardımın için o kadar rahatlattı ki gerçekten, sağ ol.

2 Likes