Ana Sayfa » *nix » FreeBSD – Sendmail Smart Host Configuration

FreeBSD – Sendmail Smart Host Configuration


BerbatKötüİdare EderGüzelHarika (Toplam 2 oy. 5 puan üzerinden ortalama 5,00 || Oy vererek siz de katkıda bulunabilirsiniz.)
Loading...

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MY1amWvq' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349

Öntanımlı olarak sendmail kullanan sistemlerde, localhost'u kullanarak email gönderimi yapan (örneğin üyelik mailleri gönderen bir web sitesi gibi)  bir uygulama çalışıyorsa, giden mailleri localhost yerine, işi sadece email göndermek olan bir SMTP sunucusu/servisi üzerinden iletmek isteyebilirsiniz. Bunun için sendmail'de “dışarı” giden her postayı belirlediğiniz smtp sunucusu üzerinden göndermesi için SMART_HOST tanımlaması yapabilirsiniz.

Aşağıda, sistemlerde bu tanımlamanın nasıl yapıldığına değineceğim.

sistemlerde (diğerlerinde olduğu gibi) sendmail ile ilgili her türlü yapılandırma dosyası /etc/mail dizini altında bulunmaktadır. Sisteminizde daha önce sendmail ile ilgili herhangi bir tanımlama yapmadıysanız ilk olarak bu dizine gidip make komutunu çalıştırarak hostname'iniz için ana yapılandırma dosyalarının oluşturulmasını sağlamak icap eder.

# cd /etc/mail
# make

Bu şekilde isminde sisteminizin hostname'i geçen yapılandırma dosyaları oluşturulur. Benim test sistemimin hostname'i CromLab04--9.1.crom.lab olduğu için ilgili dosyalar şu şekilde görünmekte:

-rw-r--r--  1 root  wheel  59099 Feb 10 00:35 CromLab04-FreeBSD-9.1.crom.lab.cf
-rw-r--r--  1 root  wheel   4105 Feb 10 00:35 CromLab04-FreeBSD-9.1.crom.lab.mc
-rw-r--r--  1 root  wheel  40712 Feb 10 00:19 CromLab04-FreeBSD-9.1.crom.lab.submit.cf
-r--r--r--  1 root  wheel    900 Feb 10 00:19 CromLab04-FreeBSD-9.1.crom.lab.submit.mc

Bu dosyalardan, “hostname.mc” (örnekte CromLab04-FreeBSD-9.1.crom.lab.mc) olanı SMART_HOST tanımlamasının yapılacağı ana dosyadır.  Bu dosyayı editleyin ve aşağıdaki satırı bulun:

dnl define(`SMART_HOST', `your.isp.mail.server'

ve şu şekilde değiştirin:

define(`SMART_HOST', `smtp.sunucunuz.com')

Bu tanımlama sendmail'e dışarı gidecek tüm mailleri, smtp.sunucunuz.com isimli posta sunucusu üzerinden iletilmesini söylemektedir. Ancak sadece bu ayarlar ile gönderim yaptığınız zaman, giden mailler, kullaniciadi@hostname şeklinde görünecektir. Örnek olarak benim test sistemimi ele alırsak gönderilen maillerin from adresi <[email protected]> şeklinde görüntülenecektir.

Bu durumun önüne geçmek ise MASQUERADE parametresi ile gönderilen her mailin from kisminda görüntülenecek domainini formal olacak şekilde maskeleyebilirsiniz.

Bu işlem için, gene ana yapılandırma dosyasını editleyelim:

# cd /etc/mail
# vi /etc/mail/CromLab04-FreeBSD-9.1.crom.lab.mc

ve dosyanın en altındaki MAILER(local) satırının hemen üzerine aşağıdaki satırları girelim:

MASQUERADE_AS(ALANADI.com)
FEATURE(allmasquerade)
FEATURE(masquerade_envelope)
FEATURE(masquerade_entire_domain)
MASQUERADE_DOMAIN(ALANADI.com)

Bu ayar ile gönderilen her mailin from kısmı, @alanadı.com olarak görüntülenecektir.

Tanımlamaların ardından değişikliklerin algılanması için /etc/mail dizinine geçip make install diyoruz:

# cd /etc/mail
# make install

Son olarak da sendmail'i yeniden başlatıyoruz:

# /etc/rc.d/sendmail restart

Böylece yapılandırma tamamlanmış oluyor. Şimdi sistemden aşağıdaki şekilde bir mail gönderip durumu test edebilirsiniz.

# mail -s "Deneme maili" [email protected]
Test mesajınızı yazdıktan sonra, CTRL-D ile gönderimi tamamlayın.

Gönderiminizin detaylarını /var/log/maillog dosyasında görebilirsiniz.

Ben bu işlem için smart_host olarak kullandığım sistemde relay iznini ip üzerinden verdiğim için herhangi bir auth işlemi yapmama gerek kalmıyor. Ancak sizin SMART_HOST olarak kullanacağınız sunucu illa smtp authentication gerektiriyorsa, bu işin nasıl yapılacağı ile ilgili bir örneğe aşağıdaki adresten erişebilirsiniz.

http://www.dnsexit.com/support/mailrelay/sendmail.html

Visited 425 times, 1 visit(s) today
Kategoriler: *nix,Genel |

Bu yazılar da ilginizi çekebilir:


- FreeBSD – immutable flag ile write protection
- Ezjail Flavours ile Öntanımlı Jail Sistemler Oluşturmak
- PSSH ile Birden Fazla Sunucuyu Tek Merkezden Yönetmek
- SSH Üzerinden Root Login Girişimlerinde Artış
- FreeBSD Ports Reinstall – FORCE_PKG_REGISTER

Yorumlar


  1. Fatih YILMAZ | (Şubat 26th, 2013 4:34 pm)

    peki diyelim 2 tane domainimiz var,
    bunların 2 ayrı smtp sunucusu var,
    bunu nasıl ayarlayabiliriz?
    domain’e göre farklı smtp sunucusu seçtirebiliyor muyuz?

    [Cevapla]

Trackbacks

Yorumda bulunun.