internet pencereler Android

Sendmail'i Yapılandırma. Sendmail'i Ubuntu'da yükleme ve yapılandırma Sendmail ubuntu'yu yükleme ve yapılandırma

1983'te ortaya çıktı, ancak bu güne kadar aktif olarak kullanılıyor. Temel özellikler, bugün var olan birçok platformun yanı sıra ücretsiz olması için destek içerir. Uygulama açık kaynak kodu ile birlikte gelir. Bu, herkesin buna kendi işlevselliğini ekleyebileceği veya istediği zaman değiştirebileceği anlamına gelir. Ubuntu işletim sisteminde Linux komut satırı üzerinden yapılandırılan Sendmail, iyi desteği ve zengin özellikleri sayesinde kök saldı.

Mesaj işlemcisi - Sendmail - iş alanında yaygınlaştı.

Günümüzde büyük şirketlerin ihtiyaçları göz önünde bulundurularak oluşturulan "mesaj işlemcisi" Sendmail Sentrion oldukça yaygındır. Ayırt edici özellikleri, yüksek performans ve tüm iş süreçleri ile iyi entegrasyondur. Sentrion, yeni teknolojilerle birlikte kök salmış eski uygulamalar sunar. Ayrıca, uygulama ev kullanıcılarına uyacak kadar kolay.

Program kurulumu

Sendmail'i yerel bir sunucu veya web sunucusu temelinde kurmanız gerekir. İkinci durumda, posta aracısı daha işlevsel olacaktır. Bir web sunucusunun tüm bileşenlerini elde etmek için bir yığın LAMP bileşenine ihtiyacınız vardır. Depoda bulunabilir.

ÖNEMLİ. Yeni yazılım yüklemeden önce, yerel depodaki paket listelerini şu komutu kullanarak güncellemeyi unutmayın.

"$ Sudo apt-get güncellemesi"

Sendmail'in kurulumu, posta aracısı paketlerini indirecek olan "sudo apt install sendmail" komutuyla başlar.

"Mcedit / etc / ana bilgisayarlar"
"Sudo sendmailconfig"

Bundan sonra, Apache web sunucusunun yanı sıra programın hizmetlerini yeniden başlatmanız gerekir:

"Sudo /etc/init.d/sendmail yeniden başlat"
"Sudo /etc/init.d/apache2 yeniden başlat"

Gerekirse, postayla çalışmak için yardımcı programları yükleyebilirsiniz:

"Sudo mailutils yükleyin"

Tüm sistemin performans testini kontrol ediyoruz:

"mail adresinizi postalayın< /dev/null»

burada "your_mail" geçerli posta adresidir.

Son olarak log dosyasını kontrol edelim. Bu, yükleme hatalarının görüntüleneceği posta hizmeti dosyasıdır:

Kuyruk -f /var/log/mail.log

Sadece e-posta kutusuna gitmek için kalır. İçinde zaten bir test mesajı olmalı.

Böylece, yapılandırması oldukça kolay olan Ubuntu programı Sendmail hakkında daha fazla şey öğrendiniz. Linux için programlarla çalışmanın diğer yönleri hakkında sorularınız varsa - sitemizin sayfalarında bunlara cevap arayın!

Kitap, Linux işletim sistemine dayalı olarak gerekli yapılandırma ve işlevselliğe sahip bir sunucu oluşturmanıza izin veren ağ hizmetlerinin ayarlarını ayrıntılı olarak açıklamaktadır. Her tür sunucuyu kurabilirsiniz: yerel ağ sunucusundan İnternet sunucusuna ve uzaktan erişim sunucusuna. Linux yönetimi ayrıntılı olarak açıklanmıştır.

Sunum, Red Hat ve Mandrake dağıtımlarına dayanmaktadır. Pek çok benzersiz bilgi: Windows oyunlarını Linux altında çalıştırmak ve bir oyun salonu için bir Linux sunucusu oluşturmak, Dr. Linux için Web ve AVP, MRTG trafik muhasebe yazılımı, LIDS koruma ve algılama sistemi ve çok daha fazlası. Linux sunucularının güvenliğine özellikle dikkat edilir. Linux işletim sisteminin kendisi yeterli ayrıntıda açıklanmış ve komutlarına bir referans sağlanmıştır. Kitabı okuduktan sonra, çekirdeği yapılandırma ve derleme, kendi rpm paketlerinizi, bash kabuğunu oluşturma ve RAID dizilerini kullanma konusunda bilgi sahibi olacaksınız. Linux'un iç dünyasını tanıyacaksınız. Materyalin sunumu Linux işletim sisteminin kurulumuyla başladığından ve ilk bölüm temel ağ teknolojileri ve protokollerini tanımladığından (Genç Yönetici Kursu) kitap hem profesyonel hem de acemi yöneticiler için uygundur.

Bu kitaptaki tüm listeler pratikte test edilmiştir ve ekteki CD'de bulunabilir. Ayrıca, Linux ile ilgili makalelerin yanı sıra birçok referans bilgisi (NASIL, RFC) içerir. Sunucu için zengin bir yardımcı yardımcı program ve yazılım seti bulunur (Apache, MySQL, MRTG, vb.).

Kitap:

RedHat uyumlu bir dağıtım kullanıyorsanız, uygun paketleri yüklemeniz gerekecektir. sendmail-8.11.0 ve imap-4.7c2 kullanıyorum. Sendmail'in en son sürümü internetten http://www.sendmail.org adresinden indirilebilir.

Sendmail'i yapılandırmaya başlamadan önce, DNS'yi doğru şekilde yapılandırmanız gerekir. DNS sunucusu kurulumu ayrıntılı olarak Bölümde tartışılmıştır. 10. Yalnızca bir posta sunucusu yapılandırıyorsanız, aynı bilgisayarda bir DNS sunucusu yapılandırmanız gerekmez. Ad çözümleme sisteminin doğru çalışması için /etc /resolv.conf dosyasında ağınızın DNS sunucularını belirtmeniz yeterli olacaktır. Ancak sendmail, DNS kullanmadan çalışacak şekilde yapılandırılabilir, ancak bu seçeneği dikkate almayacağım.

Temel sendmail yapılandırmasına başlamak için netconf yardımcı programını çalıştırın (bkz. Şekil 13.1). Hem X-Window'dan hem de konsoldan çalışır. netconf yardımcı programı RedHat Linux, Mandrake, ASPLinux ve diğer dağıtımlarda mevcuttur, ancak kesinlikle KSI Linux'ta değildir. Doğal olarak, root olarak giriş yapmalısınız. Eğer netconf'unuz yoksa, /etc/sendmail.cf dosyasını manuel olarak düzenlemekten büyük zevk alacaksınız. Bu dosya, tüm sendmail ayarlarının saklandığı yerdir.


İncir. 13.1. Netconf yapılandırıcı

Menüden Posta dağıtım sistemi'ni ve ardından Temel sendmail yapılandırmasını seçin. Sisteminizi şu şekilde sunun alanına, alan adınızı girmeniz yeterlidir. Ardından "alan_adiniz.com için e-postayı kabul et" kutusunu işaretlediğinizden emin olun (bkz. Şekil 13.2). Bunu yapmazsanız, sunucunuz mesajları başka bir sunucuya yönlendirebilir. Aynı zamanda, sunucunuzdan hiç ihtiyaç duymadığınız fazla trafik geçecektir. Bir zamanlar e-posta yoluyla bu tür bir reddetme saldırısı bile vardı. Prensibi şudur: Var olmayan bir kullanıcıdan bir mektup gönderilir. [e-posta korumalı] var olmayan başka bir kullanıcı [e-posta korumalı] Mektup, hostcom bilgisayarı aracılığıyla gönderilir ve bu, mesajın yeniden yönlendirilmesine olanak tanır ("domain.com için e-postayı kabul et" modu etkin değildir). B.com etki alanının posta sunucusu, adrese bir mesaj gönderir [e-posta korumalı] kullanıcı [e-posta korumalı] bulunmuyor. Buna karşılık, A.com etki alanının posta göndericisi, kullanıcının [e-posta korumalı] ayrıca mevcut değil ve adrese bir mesaj gönderiyor [e-posta korumalı] Dolaylı özyineleme meydana gelir. Şimdi böyle bir mesajın bir değil, 100 olduğunu ve her birinin hacminin en az 1 MB olduğunu hayal edin! Sonuç olarak, domain1.com - host.com - domain2.com zincirindeki sunuculardan biri "çökmelidir".


Pirinç. 13.2. Temel sendmail yapılandırması

Üzgünüm, biraz konu dışıyım, sendmail'i yapılandırmaya devam edelim. Mesaj gönderme protokolünü smtp (Posta ağ geçidi protokolü) olarak ayarlayın.

Bu bilgi, sendmail'inizi kurmak ve çalıştırmak için zaten yeterli. netconf kullanarak sendmail programı için ek seçenekler ayarlayabilirsiniz.

Şimdi, sendmail'in yalnızca yetkili adreslerden gelen postaları kabul etmesini sağlayın. Bunu yapmak için, sendmail'in kendisini yapılandırmanıza bile gerek yok - sadece /etc/hosts.allow ve /etc/hosts.deny dosyalarını düzenlemeniz yeterli. Bunlardan ilki, bu makineye erişmesine izin verilen ana bilgisayarların bir listesini, ikincisi ise reddedilen ana bilgisayarların listesini içerir. Lütfen dikkat: isme rağmen - "İzin verildi" veya "yasak", ilk dosya tarafından belirlenen kısıtlamalar çok daha katıdır. Örneğin, ağınızdaki bilgisayarlar dışındaki tüm ana bilgisayarların erişimini reddetmek için /etc/hosts.allow dosyasına 192.168.1 satırını ekleyin.

Burada ağın 192.168.1.0 adresine ve 255.255.255.0 maskesine sahip olduğunu kastediyoruz. hosts.allow ve hosts.deny dosyalarının biçimi hakkında daha fazla bilgiyi man hosts.allow komutunu girerek okuyabilirsiniz.

Şimdi POP3'ün sırası. imap paketini kurduktan sonra, hemen hemen her şeyi ayarlamışsınızdır, yani. Yapılandırmayı kontrol etmenin zaten mümkün olduğunu söylemek istiyorum. Hangisini kullanıyorsanız kullanın, inetd veya xinetd arka plan programını yeniden başlatın ve aşağıdakileri girin:

telnet<имя_только_созданного_почтовика> 25

Yanıt olarak, aşağıdakine benzer bir şey görmelisiniz:

192.168.1.1 deneniyor. ... ...
192.168.1.1'e bağlandı
Kaçış karakteri
220 de.dhsilabs.com ESMTP Sendmail 8.11.0 / 8.8.7 Paz, 17 Haz
2001 10:54:22 +300

Bu, sendmail'in çalıştığı anlamına gelir, bunu ne kadar iyi yaptığı görülecektir. Bunu yapmak için aşağıdakine benzer bir şey girin:

mail şu kişiden geldi: [e-posta korumalı]
220 2.1.0 [e-posta korumalı]…. Gönderen Tamam
rcpt'ye: [e-posta korumalı]
220 2.1.5 [e-posta korumalı]…. alıcı Tamam

Bundan sonra data komutunu, ardından mesajın metnini girin ve girişi bitirmek için boş bir satıra bir nokta koyun. Sendmail, mesajın gönderildiğini size bildirecektir (daha doğrusu, gönderme kuyruğuna alınmıştır). Kayıt [e-posta korumalı]- posta gönderdiğiniz kullanıcının adı. Kullanıcı gerçekten var olmalıdır. den.dhsilabs.com girişi, posta gönderinizin adıdır.

Not. İsimler [e-posta korumalı] ve dhsilabs.com örnek olarak verilmiştir. Bunun yerine kendi değerlerinizi sağlamalısınız.

Lütfen doğada my.host.com ana bilgisayarı olmadığını ve sendmail programının "Gönderen Tamam" olduğunu bildirdiğini unutmayın. Bu nedenle sendmail ayarlarında DNS için Bekle seçeneğinin etkinleştirilmesi daha iyidir.

Şimdi, örneğin kmail gibi bazı posta istemcilerini başlatmanız ve posta almanız gerekiyor. Kmail programında aşağıdaki ağ ayarlarını kullanın: Ağ? Posta gönderme, SMTP'yi ayarlayın, bağlantı noktası 25, sunucu adı - posta gönderinizin adı, bu örnekte den.dhsilabs.com'dur. Ardından POP3 için bir hesap ekleyin:

Kullanıcı adı - den

Şifre - sisteme giriş yapmak için kullanılan şifre.

Sunucu - den.dhsilabs.com

Sonuç olarak, verilerden sonra girdiğiniz mesajı almalısınız. Ancak, isim çözümlemesinde sorunlar olabilir. Bunları önlemek için, DNS'yi doğru bir şekilde yapılandırmanız veya posta sunucusunun adı yerine IP adresini kullanmanız gerekir. Yeni bir kullanıcı eklerken, oturum açma parolasını ayarladığınızdan emin olun. Bunu yapmazsanız, ancak şifre belirtmeden posta almaya çalışırsanız, "Kimlik Doğrulama Başarısız" mesajı alırsınız.

Sendmail'in temel konfigürasyonu, konfigüratör kullanılarak çok kolaydır, ancak bazen temel konfigürasyon yeterli değildir. Daha kesin yapılandırma için, sendmail programının yapılandırma dosyalarına aşina olmanız gerekir.

Not.Çoğu durumda, spam gönderenler sizi "koruyucuları" altına alıncaya kadar temel ayardan memnun kalacaksınız - o zaman Ch'yi okumanız gerekecek. İstenmeyen postalara karşı koruma yöntemleri hakkında 23. Ancak Murphy'nin yasalarından biri işe yarayabilir - sisteminiz için hiçbir sendmail yapılandırıcısı geliştirilmeyecektir ve bu durumda yine de yapılandırma dosyalarıyla uğraşmak zorunda kalırsınız.

Ana sendmail yapılandırma dosyası /etc/sendmail.cf'dir. Bazı dağıtımlarda bu dosya / etc / mail dizininde bulunur. Bu dosya hakkında Bill Gates'in limuzininden daha uzun olduğu ve "gözler korkuyor, eller yapıyor" modunda kurgulandığı söyleniyor. Bana inanmıyorsanız, bu dosyayı açın ve buna ikna olacaksınız. Yalnızca profesyonel yöneticiler veya sendmail geliştiricileri bu dosyayı manuel olarak düzenleyebilir.

Tipik olarak, bu dosyayı düzenlemek için m4 makro işlemcisi kullanılır. Öncelikle özel bir mc dosyası hazırlıyorsunuz. Bu dosya .sendmail ayarlarını içerir, ancak daha "okunabilir" bir formdadır. Yapılandırma dosyalarını düzenlerken, boyutları da etkilenir. Karşılaştırma için, mc dosyam 2459 bayt, sendmail.cf dosyam ise 46302 bayt. Dosya boyutu 46 kilobayt olduğunda iki kilobaytlık bir dosyayı düzenlemek başka bir şeydir. Sendmail yapılandırma dosyasının aksine, belirli bir mc dosyasının ne için olduğunu hemen anlayacaksınız. Ardından, mc dosyasını düzenledikten sonra, sendmail yapılandırma dosyasını oluşturmak için m4 makro işlemcisini çalıştırmanız gerekir:

m4 my_config.mc> /etc/sendmail.cf

Bu komutu çalıştırmadan önce sendmail.cf kaynak dosyasını bir yere kaydetmenizi şiddetle tavsiye ederim. Yanlış ayarlar olması durumunda, her zaman geri yükleyebilirsiniz.

Sendmail program yapılandırma dosyasını (sendmail.cf) oluşturmak için T4 makro işlemcisi tarafından kullanılan varsayılan yapılandırma dosyası /usr / share / sendmail-cf / cf dizininde bulunur. sendmail programının eski sürümlerinde /usr/lib/sendmail dizininde bulunabilir.

Genellikle bu dosyaya sendmail.mc adı verilir. Red Hat işletim sistemini kullanıyorsanız veya onunla uyumluysanız, bazen farklı şekilde çağrılabilir, örneğin redhat.mc.

Standart bir /usr/share/sendmail-cf/cf/redhat.mc dosyası örneği Liste 13.1'de gösterilmektedir.

Liste 13.1. Standart redhat.mc dosyası

yönlendirme (-1)
dnl Bu sendmail makro yapılandırma dosyasıdır. Bu dosyada değişiklik yaparsanız,
dnl, sendmail-cf rpm'nin kurulu olmasına ve ardından bir
dnl new /etc/sendmail.cf aşağıdaki komutu çalıştırarak: dnl
dnl m4 /etc/mail/sendmail.mc> /etc/sendmail.cf
dnl
dahil ("../ m4 / cf.m4")
VERSIONID ("Red Hat Linux için linux kurulumu") dnl
OSTYPE ("linux")
define ("confDEF_USER_ID", "8:12") dnl
tanımsız ("UUCP_RELAY") dnl
tanımsız ("BITNET_RELAY") dnl
tanımla ("confAUTO_REBUILD") dnl
define ("confTO_CONNECT", "1m") dnl
tanımla ("confTRY_NULL_MX_LIST", doğru) dnl
define ("confDONT_PROBE_INTERFACES", true) dnl
define ("PROCMAIL_MAILER_PATH", "/ usr / bin / procmail") dnl
tanımla ("ALIAS_FILE", "/ eto / takma adlar") dnl
dnl define ("STATUS_FILE", "/ etc / mail / istatistikler") dnl
tanımla ("UUCP_MAILER_MAX", "2000000") dnl
define ("conf USERDB_SPEC", "/etc/mail/userdb.db")dnl
define ("confPRIVACY_FLAGS", "authwarnings, novrfy, noexpn, kısıtlamaqrun") dnl
define ("confAUTH_OPTIONS", "A") dnl
dnl TRUST_AUTH_MECH ("DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl
dnl define ("confAUTH_MECHANISMS", "DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl
dnl define ("confTO_QUEUEWARN", "4h") dnl
dnl define ("confTO_QUEUERETURN", "5d") dnl
dnl define ("confQUEUE_LA", "12") dnl
dnl define ("confREFUSE_LA", "18") dnl
dnl ÖZELLİK (delay_checks) dnl
ÖZELLİK ("no_default_msa", "dnl") dnl
ÖZELLİK ("smrsh", Vusr / sbin / smrsh ") dnl
ÖZELLİK ("mailertable", "hash-o /etc/mail/mailertable.db")dnl
ÖZELLİK ("virtusertable", "hash –o /etc/mail/virtusertable.db")dnl
ÖZELLİK (yönlendirme) dnl
ÖZELLİK (always_add_domain) dnl
ÖZELLİK (use_cw_file) dnl
ÖZELLİK (use_ct_file) dnl
ÖZELLİK (local_procmail, "", "procmail –t –Y –a $ h –d $ u") dnl
ÖZELLİK ("access_db", "hash –o /etc/mail/access.db")dnl
ÖZELLİK ("kara liste_alıcıları") dnl
EXPOSED_USER ("kök") dnl
dnl Bu, sendmail'i yalnızca geri döngü aygıtı 127.0.0.1'i dinleyecek şekilde değiştirir.
dnl ve diğer ağ cihazlarında değil. İstersen bunu yorumla
ağ üzerinden e-posta kabul etmek için dnl.
DAEMON_OPTIONS ("Port = smtp, Adr = 127.0.0.1, Ad = MTA")
dnl NOT: hem IPv4 hem de IPv6 arka plan programının aynı bağlantı noktasına bağlanması gerekir
dnl bir çekirdek yaması
dnl DAEMON_OPTIONS (dış aktarma = smtp, Adr = :: 1, Ad = MTA-v6, Aile = inet6 ")
dnl Korumak istiyorsanız bunu yoruma yazmanızı şiddetle tavsiye ederiz.
spam'den kendinizi dnl. Ancak, dizüstü bilgisayar ve bilgisayarlardaki kullanıcılar
dnl'de 24x7 DNS yoksa buna ihtiyacınız var.
ÖZELLİK ("resolvable_domains'i kabul et") dnl
dnl ÖZELLİK ("relay_based_on_MX") dnl
MAILER (smtp) dnl
MAILER (procmail) dnl
Cwlocalhost.localdomain

FEATURE yönergesi, sendmail programının bir veya başka bir işlevini bağlamak için kullanılabilir. Örneğin, postalanabilir işlev, belirli etki alanları için yönlendirmeyi geçersiz kılmak üzere tasarlanmıştır. mc dosyasına istediğiniz işlevleri ekleyerek sendmail programının işlevselliğini kolayca genişletebilirsiniz.

Etki alanındaki bilgisayarların adlarını gizlemek istediğinizi varsayalım. Bu, mc dosyanıza masquerade_envelope işlevini ekleyerek kolayca elde edilir. Bunu yapmak için redhat.mc dosyasını hide_hosts.me dosyasına kopyalayın ve hide_hosts.me dosyasının sonuna aşağıdaki satırları ekleyin:

MASQUERADE_AS (alan-adim.ru) dnl
ÖZELLİK (maskeli_zarf) dnl

Ardından şu komutu çalıştırın:

m4 /usr/share/sendmail-cf/cf/hide_hosts.me> /etc/sendmail.me

Bu kadar! Düğüm adları gizlenecektir. Diğer işlevlerin açıklaması tabloda sunulmuştur. 13.1.

Sendmail İşlevleri Tablosu 13.1

İşlev Açıklama
erişim_db Erişim tablosunu tanımlar. Bu tablo, posta sunucunuz aracılığıyla posta göndermesine izin verilen veya reddedilen ana bilgisayarları listeler. Bu seçenek, spam ile mücadelede etkin bir şekilde kullanılır. İstenmeyen posta koruması, aynı adı taşıyan bölümde ayrıntılı olarak tartışılmaktadır. 23
accept_unresolvable_domains Tanınamayan etki alanlarına posta gönderilmesine izin verir
bestmx_is-yerel Mesajlar yalnızca MX DNS kaydı bu posta sunucusunu işaret ediyorsa kabul edilecektir.
blacklist_recipients "Kara liste". Spam ile mücadele için başka bir seçenek. Çalışması için access_db seçeneği gereklidir.
dnsbl Kara listeyle çalışmak için kullanılan dnsbl, DNS Kara Listesinin kısaltmasıdır. Daha önceki sürümlerde bu seçenek (Kara Listeyi Çöz) olarak adlandırılıyordu.
etki alanı tablosu Alan adlarını çözmek için kullanılır
jenerik stabil Mesajlarda gönderme adresini değiştirmek için kullanılır
local_procmail Postanın yerel procmail yardımcı programı kullanılarak teslim edilmesi gerektiğini belirtir
postalanabilir Belirli alanlar için yönlendirmeyi geçersiz kılar
masquerade_entire_domain Tüm etki alanını maskelemek (gizlemek) için kullanılır. Bu işlev, MASQUERADE AS (veya MASQUERADE_DOMAIN) yönergesi ile birlikte kullanılmalıdır, örneğin, MASQUERADE_AS (f117.ru) dnl
maskeli balo Etki alanının ana bilgisayar adlarını gizlemenizi sağlar. Mesajı başkalarına iletmeden önce, mesaj başlığının alınan alanını değiştirir
yönlendirmek Başka bir posta sunucusuna yönlendirmek için kullanılır. Bir mesajın verilmesiyle posta kabul etmeyi reddetmek anlamına gelir, lütfen deneyin
(bu adresi kullanmayı deneyin)
röle_based_on_MX Yalnızca MX DNS sunucu kayıtlarında belirtilen ana bilgisayarlar için posta iletmeye (aktarmaya) izin verir
röle_hosts_only Yalnızca access_db'de belirtilen düğümler için geçişe izin verir
röle_mail_from Yalnızca gönderen, accessdb'nin RELAY listesinde listeleniyorsa geçişe izin verir.
smrsh Sınırlı sendmail kabuğunu kullanma
use_cf_file Bu fonksiyon belirtildiğinde, sendmail güvenilir kullanıcıların bir listesi için sendmail.cf dosyasına bakacaktır.
use_cw_file Bu fonksiyon belirtildiğinde, sendmail yerel ana bilgisayarların bir listesi için sendmail.cw dosyasına bakacaktır.
usta Alıcının adresini yerel bir kullanıcının adresine dönüştürür

/etc/mail/sendmail.cw dosyası, belirli bir posta sunucusu için tüm diğer adları listeler. Sunucu adınızın mail.dhsilabs.ru olduğunu varsayalım. Gönderen adrese posta gönderirse [e-posta korumalı], yazı kullanıcıya sorunsuz bir şekilde teslim edilecektir. Ve eğer birisi adrese bir mektup gönderirse [e-posta korumalı], o zaman mesajın dhsilabs etki alanının hangi düğümüne yönlendirildiği net olmadığı için teslimi bazı zorluklara neden olacaktır? Bu sorunu çözmek için sendmail.cw dosyasına bir satır koymanız gerekir.

pek ihtiyacın yok Web sunucusu sitenizden posta gönderemez. Hızlı bir şekilde dağıtmanın basit bir yolu aşağıdadır posta göndermek site için posta gönderen bir MTA (Posta Aktarım Aracısı) olarak.

Başlamak Kurulum

Sudo apt-get install sendmail

İkinci ve en önemli şey, ana bilgisayarın kendisinin doğru yapılandırılmasıdır. Posta göndericisinin, ana bilgisayarın sahip olduğu DNS FQDN adının tam olarak ne olduğunu ve dünya ağının genişliğinde var olduğunu bilmesi gerekir.

hangi sunucuda olduğunu varsayalım sendmail çalışır IP adresi var 123.123.123.123

Ayrıca, sunucunun IP adresine doğru bir şekilde atanan domainame.com alan adına da sahibiz.

Dosyayı düzenleme / vb / ana bilgisayarlar sunucunun kendi DNS adını bilmesi için (elbette doğru ve gerçek olması gerekir)

Sudo nano -w / etc / ana bilgisayarlar

Eklenmesi gereken ikinci satır, sunucu alan adının açıklaması, ana bilgisayarın gerçek IP adresi ve dahili sistem adı ile karşılaştırmasıdır:

127.0.0.1 yerel ana bilgisayar 123.123.123.123 box1.domainname.com web sunucunuz

O zaman dosyada bir değişiklik yapmanız gerekir / etc / ana bilgisayar adı

Sudo nano -w / etc / ana bilgisayar adı

Ve oraya girilen doğru sunucu adını girin. / vb / ana bilgisayarlarÖrneğimizde, bu sizin web sunucunuzdur.

Düzenlemeden sonra / etc / hostname dosyasının içeriği:

Web sunucunuz

Bu adımlardan sonra sunucuyu yeniden başlatmanız veya çalıştırmanız gerekir:

/etc/init.d/hostname restart Ve 2 komutu çalıştırın: hostname hostname -f

Her şey doğruysa, sistem her iki durumda da aynı adları döndürmelidir: web sunucunuz

Öğüt vermek mektubun gönderilip gönderilmediğini kontrol et Böylece

# telnet localhost smtp bize şunları verir: Deniyor :: 1 ... 127.0.0.1 deniyor ... localhost'a bağlandı. Kaçış karakteri "^]". 220 localhost6.localdomain6 ESMTP Sendmail 8.14.3 / 8.14.3 / Debian-9.2ubuntu1; Per, 9 Aralık 2010 15:31:17 +0200; (UCE / UBE yok) giriş erişimi: localhost.localdomain (OK) - localhost.localdomain girin: HELO localhost bize şunları verir: 250 localhost6.localdomain6 Merhaba localhost.localdomain, tanıştığımıza memnun oldum girin: MAIL FROM: [e-posta korumalı] bize verir: 250 2.1.0 [e-posta korumalı] Gönderen tamam, şunu girin: RCPT TO: [e-posta korumalı] bize verir: 250 2.1.5 [e-posta korumalı] Alıcı tamam giriyoruz: VERİ bize şunu veriyor: 354 Postayı girin, "." ile bitirin. tek başına bir satıra test mesajını girin. Umarım yukarıdaki postanın telnet'in bize yazdığı son postanızla değiştirilmesi gerektiğini tahmin etmişsinizdir 250 2.0.0 oB9DVHsE004837 Mesaj teslim için kabul edildi

Belirtilen e-postaya bir dizi komut yürütmenin bir sonucu olarak ( [e-posta korumalı]) bir mesaj gelmelidir ("test mesajı").

Php.ini kurulumu

gedit/etc/php5/apache2/php.ini

Sonraki satırı bulun ve düzenleyin

sendmail_path = / usr / sbin / sendmail -t -i

Posta () işlevinin kontrol edilmesi

Eko posta (" [e-posta korumalı]"," test mesajı "," test mesajı "," Kimden: [e-posta korumalı]"); ?>

Kurulum tamamlandı umarım başarılı olursunuz Ubuntu'da Sendmail'i yapılandır

En eskilerinden biri için kurulum ve yapılandırma kılavuzu MTA (Posta Aktarım Aracısı), e-posta gönderme programı - posta göndermek herhangi bir işletim sistemine kurulum için kullanılabilir. Birçok işletim sisteminde sendmail varsayılan olarak kuruludur ve bu standart MTA'yı bir başkasıyla değiştirmek için özel bir ihtiyaç yoktur. Aynı zamanda, aynı PHP varsayılan olarak bu MTA ile çalışacak şekilde yapılandırılmıştır. Sendmail'i kurmak uzun zaman alıyorsa - postfix () koyun, çok fazla zaman kaybetmenize gerek yoktur.

Hazırlık

Sendmail'in kurulu olup olmadığını ve exim4 veya başka bir MTA olup olmadığını kontrol edin:

Ls -la `hangi sendmail` # lrwxrwxrwx 1 kök kök 26 2011-01-17 19:58 / usr / sbin / sendmail -> / etc / alternatifler / sendmail

Kurulum

sudo apt-get install sendmail sasl2-bin

/ etc / ana bilgisayarları yapılandırma

127.0.0.1 localhost localhost.localdomain e5530
Not

Ana sunucunuzu (bilgisayar adı, benimki e5530) ve localhost.localdomain'i belirtmelisiniz, aksi takdirde bir hata alırsınız: Niteliksiz ana bilgisayar adım (myhostname) bilinmiyor; yeniden denemek için uyuyor "ve" kendi alan adımı niteleyemiyorum (e5530) - kısa ad kullanıyor, posta göndermek başlaması uzun zaman alıyor ve postaları yavaş gönderiyor. Muhtemelen ev sahibi localhost.localdomain atlanabilir, emin değilim.

Bundan sonra, yerel ana bilgisayarların adlarını belirtmeniz gerekir. posta göndermek/ etc / mail / local-host-names dosyasında e-posta mesajları gönderme isteklerini kabul edecektir:

AuthInfo: smtp.gmail.com "U: [e-posta korumalı]"" BEN: [e-posta korumalı]"" P: YourPass "" M: DÜZ "AuthInfo: smtp.gmail.com: 465" U: [e-posta korumalı]"" BEN: [e-posta korumalı]"" P: YourPass "" M: DÜZ "

Not

465 numaralı bağlantı noktası yerine 587'yi çalmayı deneyebilirsiniz (yetkilendirme ile ilgili sorunlar varsa):

AuthInfo: smtp.gmail.com: 587 "U: [e-posta korumalı]"" BEN: [e-posta korumalı]"" P: YourPass "" M: DÜZ "

Chmod 600 / vb / posta / yetki / *

Sendmail.mc yapılandırması

/etc/mail/sendmail.mc yapılandırma dosyası. Yapılandırmanızı karşılaştırın. Bunun gibi bir şey olmalı.. Talimatların sırası önemlidir!

Dnl # include (`/etc/mail/m4/dialup.m4") dnl include (`/etc/mail/m4/provider.m4") dnl include (`/etc/mail/tls/starttls.m4") dnl include (`/etc/mail/sasl/sasl.m4") dnl ÖZELLİĞİ (`authinfo", `hash / etc / mail / auth / client-info") dnl define (`SMART_HOST", `smtp.gmail.com" ) dnl define (`RELAY_MAILER_ARGS", `TCP $ h 587") dnl define (`ESMTP_MAILER_ARGS", `TCP $ h 587") dnl dnl # dnl # Varsayılan Mailler kurulumu MAILER_DEFINITIONS MAILER (`yerel") `sl ) dnl define (`confAUTH_MECHANISMS", `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl # dnl define (`confDOMAIN_NAME", `e5530") dnl

sendmail yapılandırmasını kullanma

cd / etc / mail sudo su # sadece sudo çalışmayacak! m4 sendmail.mc> sendmail.cf makemap -r hash authinfo.db< auth/client-info make /etc/init.d/sendmail restart # Перезагрузка конфига

Sorunlar ve çözümler

Her şey doğru yapılandırılmışsa, ancak mesajlar "beklemedeki kuyruğa" giderse ve başka bir SMTP'ye aktarılmazsa:

  1. IP'nizi kontrol edin "schnick kara listelerde. Yasaklanan IP'yi smart-ip.net adresinden kontrol edebilirsiniz, IP'm spamhaus veritabanına girdi" a.
  2. Sağlayıcınızın 25 numaralı bağlantı noktasında giden paketleri engelleyip engellemediğini kontrol edin.
Intertelekom ile ilgili sorunlar!

Intertelecom bağlantısında sendmail aracılığıyla GMail'de mesaj geçişini yapılandırmayı başaramadım - sendmail, ISS tarafından kapatılan 25 numaralı bağlantı noktasını inatla çaldı. Postfix'i yapılandırmam gerekiyordu.

PHP yapılandırması (gerekirse)

/etc/php5/apache2/php.ini yapılandırmasında (/etc/php5/cli/php.ini) sendmail başlatma parametrelerini belirtin:

## PHP için sendmail'i yapılandırma: sendmail_path = / usr / sbin / sendmail -t; sendmail_path = "/ usr / sbin / sendmail -t -f [e-posta korumalı]-i "

ayarları kontrol edelim

echo "Mesaj metni" | mail -s "Subjet" [e-posta korumalı] sendmail -t [e-posta korumalı]-F [e-posta korumalı]-v -i< ~/mail-body.txt

Postfix'i test etmek için konsoldan birden fazla mesaj göndermeyi deneyin. Bunun nasıl yapılacağını bu makalede anlattım: "".

Gönderme yönetimi

Tüm mesaj sırasını görüntüleyin:

Sudo mailq

Belirli bir adresteki mesaj kuyruğunu görüntüleyin:

Sudo mailq | grep" [e-posta korumalı]"| wc -l

Sendmail mesaj kuyruğunun tamamını temizleyin:

Sudo rm -r / var / biriktirme / mqueue-client / *

Hedefteki sendmail mesaj kuyruğunu temizleyin:

Cd / var / makara / mqueue ls | xargs -ti sh -c "grep" [e-posta korumalı]"" () "> / dev / boş && rm -f" () ""

#sendmail, #LAMBA, #MTA

not Linux konsolunu oldukça iyi bir seviyede öğrenmek istiyorsanız Denis Kolisnichenko'nun yeni kitabını okumanızı tavsiye ederim. Linux komut satırı ve rutin görevlerin otomasyonu».

Önce biraz ara

SMTP - Basit Posta Aktarım Protokolü - TCP / IP ağlarında mesajları (yani posta) aktarmak için bir hizmet. Tipik olarak 25 numaralı bağlantı noktası SMTP için kullanılır (bkz. / etc / services dosyası)

POP - Postane Protokolü - sunucudan posta almak için kullanılır. Varsayılan bağlantı noktası 110'dur (POP3 protokolü için)

Şimdi POP3 ve SMTP kullanarak küçük bir mail sunucusu nasıl kurulur onu anlatmaya çalışacağım.

İlk olarak gerekli yazılımı yükleyeceğiz. Sendmail ve imap'e ihtiyacımız var. Linux'un RH uyumlu bir sürümünü kullanıyorsanız, uygun paketleri yüklemeniz gerekecektir.
kullanırım
sendmail-8.11.0
imap-4.7c2

Sendmail'i yapılandırmaya başlamadan önce, DNS'yi doğru bir şekilde yapılandırmanız gerekir, aksi takdirde bu program düzgün çalışmayacaktır (sendmail'i dns kullanmadan çalışacak şekilde yapılandırabilmenize rağmen).

Sendmail'in temel yapılandırmasını yapalım. Bunu yapmak için yardımcı programı çalıştırmanız gerekir.
netconf... Hem X'in altından hem de konsolun altından çalışır.
netconf yardımcı programı RH'de, Mandrake - Diğer sürümlerden emin değilim. (KSI Linux'ta mevcut değildir). Doğal olarak, root olarak giriş yapmalısınız.

Menüden seçin Posta Dağıtım Sistemi, sonra Temel sendmail yapılandırması
Sisteminizi şu şekilde sunun alanına, alan adınızı girin
Ardından kutuyu işaretleyin Şunun için e-posta kabul et...
Mesaj gönderme protokolünü smtp olarak ayarlayın ( Posta ağ geçidi protokolü)

Bu bilgi, sendmail'inizi kurmak ve çalıştırmak için zaten yeterli.
ile sendmail programı için ek seçenekler ayarlayabilirsiniz.
netconf. Sendmail'iniz yoksa, unutulmaz bir
/etc/sendmail.cf dosyasını manuel olarak düzenlemenin keyfi - içinde
ayarlar kaydedilir) :)

Şimdi bunu sendmail'in yalnızca yetkili kişilerden gelen postaları kabul etmesi için yapalım.
adresler. Bunu yapmak için, sendmail'in kendisini yapılandırmanız bile gerekmez - sadece
/etc/hosts.allow ve /etc/hosts.deny dosyalarını düzeltin
İlki, buna erişmesine izin verilen ana bilgisayarların bir listesini içerir.
araba ve ikincisinde yasaktır. Lütfen dikkat: isme rağmen
(izin verildi | reddedildi), ilk dosya tarafından belirlenen kısıtlamalar
çok daha katı.

Örnek. Bilgisayarlarınız dışındaki tüm ana bilgisayarlara erişimi reddetmek için
/etc/hosts.allow dosyasındaki ağlar satırı ekleyin
"192.168.1.
Burada ağın 192.168.1.0 adresine ve 255.255.255.0 maskesine sahip olduğunu kastediyoruz.
hosts.allow ve hosts.deny dosya formatı hakkında daha fazla bilgi edinebilirsiniz,
man /etc/hosts.allow komutunu girerek

Yalnızca "sizin" alan adlarınızdan posta alabilmek için şunu eklemeniz gerekir:
mc dosyasında (genellikle /etc/mail/sendmail.mc) aşağıdaki satırları kullanın (kullanın
sekmeler, boşluklar değil)
LOCAL_CONFIG
FR-o /etc/sendmail.cR

LOCAL_RULESETS
Scheck_rcpt
# yerel olarak sonlandırılan her şey tamam
r< $+ @ $=w > [e-posta korumalı] Tamam
r< $+ @ $=R > [e-posta korumalı] Tamam

# yerel kaynaklı her şey yolunda
R $ * $: $ (dequote "" $ & (client_name) $)
R $ = w [e-posta korumalı] Tamam
R $ = R [e-posta korumalı] Tamam
[e-posta korumalı] [e-posta korumalı] Tamam

# başka her şey sahte
R $ * $ # hatası $: "550 Aktarma Reddedildi"

Şimdi bir /etc/sendmail.cR dosyası oluşturun ve "sizin" etki alanlarınızın adlarını bu dosyaya girin -
her satırda bir tane.
Yalnızca bu alan adları için posta gönderen kişi posta alabilir - diğer herkes
550 Aktarma Reddedildi mesajı

Şimdi POP3'ün sırası. imap paketini kurduktan sonra pratik olarak
her şey ayarlandı, yani. Yapılandırmayı kontrol etmenin zaten mümkün olduğunu söylemek istiyorum.

İlk olarak, inetd arka plan programını yeniden başlatın
Yeniden başlattıktan sonra sendmail ve popd servisleri (daha doğrusu
gerektiğinde bir sendmail ve popd çağrılır)

Takip etmeyi dene:
telnet'e gir<имя_только_созданного_почтовика> 25
Bunun gibi bir şey görmelisiniz:
192.168.1.1 deneniyor ...
192.168.1.1'e bağlandı
Kaçış karakteri "^]"
220 de.dhsilabs.com ESMTP Sendmail 8.11.0 / 8.8.7 Paz, 17 Haz 2001 10:54:22 +300

Bu, sendmail'in çalıştığı anlamına gelir, ne kadar doğru olduğu görülecektir :)

Tanıtmak
mail şu kişiden geldi: [e-posta korumalı]
220 2.1.0 [e-posta korumalı].... Gönderen Tamam
rcpt'ye: [e-posta korumalı]
220 2.1.5 [e-posta korumalı].... Alıcı Tamam
Şimdi verileri giriyoruz, ardından mesajın metnini, girişi bitirmek için bir nokta koyuyoruz
boş bir satırda

Sendmail, mesajın gönderildiğini size bildirecektir (daha doğrusu,
kalkış kuyruğu)

[e-posta korumalı]-posta gönderdiğim kullanıcının adı.
den.dhsilabs.com - posta göndericimin adı
Lütfen doğada my.host.com ana bilgisayarı olmadığını, ancak Göndericinin Tamam olduğunu unutmayın.
Bu nedenle, sendmail ayarlarında DNS için Bekle seçeneğini etkinleştirmek daha iyidir.

Şimdi, örneğin kmail gibi bir posta istemcisi başlatmanız gerekiyor.
ve postayı alın.
Kmail'de ağ ayarları
Ağ -> Posta Gönderme seti SMTP, 25. bağlantı noktası, sunucu adı -
posta gönderinizin adı,
bende - den.dhsilabs.com

Ardından POP3 için bir hesap ekleyin
Günlükler - den
Şifre - sisteme giriş yapmak için kullanılan şifre
Sunucu - den.dhsilabs.com
Liman - 110

Verilerden sonra girdiğiniz mesajı almalısınız.