Hafif giden SMTP sunucusu


46

Yalnızca giden e-postalar için hafif bir SMTP olarak ne kullanıyorsunuz?

Olaylar arada sırada gerçekleştiğinde SMTP üzerinden e-posta gönderen bir uygulama çalıştırıyorum ve tam özellikli bir e-posta sunucusuna ihtiyacım yok.

EDIT: En iyi seçim bu ise, postfix (ve do) gibi bir şey kullanmaktan çok mutluyum. Kutuyu dolduran çok daha basit bir şey olabileceğini düşünüyordum.


Exim ve postfix gibi bir şeye sadık kalmanın tamamen mantıklı olduğunu düşünüyorum. Basit şeyler yapıyorsanız yapılandırmak zor değildir.
Faheem Mitha

"Hafif" tanımınız nedir? Mesajların ne kadar büyük olacağını düşünüyorsunuz? "Arada bir" ne sıklıkta?
Mike B

Yanıtlar:


22

Bazıları yalnızca yanıt veren posta aktarım aracıları (MTA'lar veya "posta sunucuları") olmak üzere, bazıları diğer yanıtlarda belirtilen birkaç seçenek vardır:

Her ikisinin de çalışması için, mesajlarınızı daha fazla iletecek bir yerde ("posta hub'ı" olarak bilinir) tam teşekküllü bir MTA'ya ihtiyacınız vardır ve bu posta hub'ını kontrol etmeniz şiddetle önerilir. Aksi takdirde Bad Things ™ olabilir.


esmtp artık korunmuyor.
Nikola Kotur

1
nullmailer'in ciddi bir SMTP uyumluluk sorunu var: bir SMTP kalıcı hatası verildiğinde sonsuz miktarda yeniden deniyor. Bant genişliği / transit bugs.debian.org/cgi-bin/bugreport.cgi?bug=329192
16’daki

@telent: Böyle bir senaryoda nullmailer kullanmamalısınız.

Teşekkürler! En yapılandırma kılavuzu troubleshooters.com/linux/nullmailer nullmailer ilgili bir güvenlik sorununu notları: Bu komut satırında şifreleri ortaya çıkarır, ya da en azından bunu yapmak için kullandı. Diğer konuşmalar, mstmp’ın postayı nullmailer’den daha fazla nasıl kullanacağını biraz daha az açık hale getirdiğini not eder.
nealmcb

11

IMHO, bunu yapmanın en kolay yolu postfix ile. Bu komutlarla ışık çıkış rölesi olarak yapılandırabilirsiniz:

postconf -e relayhost=other.mailserver.com
postconf -e myorigin=my.domainname.com

Belirtilen SMTP sunucusu relayhostkimlik doğrulama gerektirmediği sürece, çalışmanıza izin veren alıcı adresi için geçiş yapmanıza izin verir veya geçerli bir hedef olur.

myoriginParametre varsayılan alan adı olacaktır. Yani, foo'ya posta gönderirseniz, foo@my.domainname.com adresine gidersiniz. Kullanıcı çubuğu tarafından gönderilen postalar bar@my.domainname.com adresinden olacaktır.

Kimlik doğrulamanız gerekiyorsa ve TLS'yi desteklemek istiyorsanız, aşağıdaki komutları da çalıştırın:

postconf -e smtp_tls_security_level=may
postconf -e smtp_sasl_auth_enable=yes
postconf -e smtp_sasl_password_maps=pcre:/etc/postfix/sasl_password_maps

Sonra /etc/postfix/sasl_password_mapsbu içeriğe sahip:

/./ username:password

Tüm postalar, belirtilen kullanıcı adı ve şifreyle yayın evinize gönderilecektir.


Bu ayarları denedim ve bir hata alıyorum: "hata: desteklenmeyen sözlük türü: pcre"
valentt 6:15

1
Pcre ve / veya postfix-pcre yükleyin ve tekrar deneyin.
bahamat

Bu arada, aynı zamanda, iki paketin eksik olduğunu, birincisinin sizin söylediğiniz gibi postfix-pcre olduğunu, ancak diğerinin tuhaf bir paket olduğunu düşündüm - libsasl2 modülleri. Libsasl2 ve libsasl2-module-db'nin nasıl kurulduğuna şaşırdım, ancak libsasl2-modülü eksikti ... Şimdi sonunda her şey çalışıyor. Lütfen bu önemli bilgiyi cevabınıza ekler misiniz?
valentt

1
Tls için de kullandım: relayhost=other.mailserver.com:465o zaman smtp_tls_wrappermode=yesve smtp_tls_security_level=encryptancak yerel kullanıcıyı auth olarak kullanmaya çalışıyor. Bir şekilde auth kullanıcısını yeniden yazmam gerekiyor.
tudor

"Aktarma evinde belirtilen SMTP sunucusu kimlik doğrulaması gerektirmediği sürece" -> tamam, ancak bugünlerde nadiren durum budur. Öneriniz doğru, fakat çoğunlukla alakasız!
FarO

9

Sendmail (8) gibi bir kabuğundan çalıştırabileceğiniz bir programa ihtiyacınız olduğunu varsayarsak, belki de MSMTP ihtiyaçlarınızı karşılayabilir? Uzak bir SMTP sunucusuna bağlanabilir ve tıpkı sendmail gibi, stdin olarak aldığı postaları gönderebilir.


Bunun için MSMTP kullanıyorum, harika çalışıyor ve konfigürasyonu çok basit.
dsp

Bunu tavsiye ettiğin için çok mutluyum. Uzun zamandır böyle bir şey arıyorum. sendmail’in yapılandırması benim ihtiyaçlarım için çok farklı bir yöntem.
ixtmixilix

4

ESMTP , uygulamanız için işe yarayabilecek yalnızca aktarmalı bir posta aktarma sunucusudur.


1
proje 2009 itibariyle ölü gibi görünüyor
SHernandez

2

SSMTP'yi ihtiyaçlarınız için uygun bulabilirsiniz. Üzerindeki bu makaleyi ve sınırlamalarını okuyun .

Dürüst olmak gerekirse, yalnızca e-posta göndermek için olsa bile, postfix veya exim yüklemek için çok stresli olmazdım.


1
SSMTP için 1, -1 gereksiz sendmail altına yorumun yanı sıra bir tam MTA kullanarak önermek için bir yol daha sert doğru yapmak. Kötü yapılandırılmış ve bakımı yapılan posta sunucuları, bize posta yöneticilerinin yaşamını cehenneme çevirir.

@hop: Her iki konuda da aynı fikirde değilim. sendmail korkunç. Ayrıca, örneğin exim Debian varsayılanıdır ve kullanımı oldukça basittir. Öyleyse postfix, muhtemelen, ama ben hiç kullanmadım.
Faheem Mitha


1

Teknik olarak, ana makinenizde bir e-posta sunucusuna ihtiyacınız yoktur, ihtiyacınız olan (ve muhtemelen zaten sahip olduğunuz), kurumsal SMTP Sunucunuza (bağlanabileceğiniz herhangi bir yerde olabilir) bağlanabilecek bir smtp istemcisi (veya MUA) 'dir. .)

Uygulamaya (ve yazıldığı programlama diline) bağlı olarak, uygulamanızın ağınızdaki '' SMTP Sunucusu'na bağlanmasının birçok farklı yolu vardır.

Genellikle, PHP veya Python ile, "SMTP" Sunucusunu belirtmek için app ile bir yapılandırma dosyası vardır (bu, ana makinenizde veya ağınızın başka bir yerinde olabilir.) Ağda zaten bir posta sunucunuz varsa, o zaman Bu sunucuya yapılandırma.

Başka seçenek yoksa, uygulama, aşağıdaki gibi işlem yapabileceğiniz standart çıktıya e-posta iletisini oluşturabilir:

listoftargets = "me@example.com jab@example.com" echo "Test İçeriği" | mail -s "Test Konusu" $ listoftargets

Bazı sistemlerde, yalnızca göndermek için çok az bir posta sunucusu zaten var.

Sam T.


Bulutta bir sürü sunucum var ve gerçekten her birinin harici bir şeye güvenmek yerine kendi giden SMTP sunucularına sahip olmasını istedim. Bu şekilde, eğer uzak SMTP sunucum kapalıysa, her sunucuyu etkilemiyor.
FlappySocks

1) PHP veya Python'un smtp kısmını yapmasına izin verirseniz, bir MTA'nın idare edebileceği tüm işleri (kuyruğa alma, hata işleme) yapmanız gerekir. 2) sonunda, başlangıçta söylediklerinizle çelişiyorsunuz

Bazı linux uygulamaları, beklenebilecek mailveya sendmailadlandırılabilecek çalıştırılabilir dosyalardır. Sistem bildirimleri. Bütün mesele bu değil mi? Başka bir şey için herhangi bir kısıtlama yoktur.
Craig Hicks,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.