Sözdizimi
sendmail [option ...] [recipient ...]
mailq
sendmail -bp
newaliases
sendmail -I
Açıklama
Postfix sendmail(1) komutu, Postfix'ten Sendmail'e uyumluluk arayüzünü uygular. Mevcut uygulamalarla uyumluluk adına, bazı Sendmail komut satırı seçenekleri tanınır ancak sessizce yoksayılır.
Varsayılan olarak, Postfix sendmail(1) standart girdiden EOF (dosya sonu) karakterine veya yalnızca tek bir . karakteri içeren bir satır okuyana kadar bir iletiyi okur ve teslim edilmesini sağlar. Postfix sendmail(1), maildrop dizininde bir kuyruk dosyası oluşturmak için postdrop(1) komutuna güvenir.
Diğer yaygın çalışma modları için belirli komut takma adları sağlanmıştır:
mailq Posta kuyruğunu listeler. Her giriş; kuyruk dosyası kimliğini (ID), ileti boyutunu, varış zamanını, göndericiyi ve henüz teslim edilmesi gereken alıcıları gösterir. Son denemede posta teslim edilemediyse, başarısızlık nedeni gösterilir. Kuyruk kimliği dizisini isteğe bağlı bir durum karakteri takip eder:
İleti aktif kuyruktadır, yani ileti teslimat için seçilmiştir.
! İleti bekletme (hold) kuyruğundadır, yani posta bekletmeden çıkarılana kadar başka bir teslimat denemesi yapılmayacaktır.
Bu çalışma modu, postqueue(1) komutu çalıştırılarak uygulanır.
newaliases Rumuz (alias) veritabanını başlatır. Eğer herhangi bir girdi dosyası belirtilmemişse (aşağıda açıklanan -oA seçeneği ile), program alias_database yapılandırma parametresi ile belirtilen dosya(lar)ı işler. Eğer herhangi bir rumuz veritabanı türü belirtilmemişse, program default_database_type yapılandırma parametresi ile belirtilen türü kullanır. Bu çalışma modu, postalias(1) komutu çalıştırılarak uygulanır.
Not: Bir rumuz veritabanı güncellemesinin görünür hale gelmesi bir dakika kadar sürebilir. Bu gecikmeyi ortadan kaldırmak için "postfix reload" komutunu kullanın.
Bu ve diğer özellikler, komut satırı seçeneklerinin uygun kombinasyonu belirtilerek seçilebilir. Bazı özellikler main.cf yapılandırma dosyasındaki parametrelerle kontrol edilir.
Aşağıdaki seçenekler tanınır:
-Am (yoksayılır)
-Ac (yoksayılır) Postfix sendmail, bir iletinin ilk gönderim olup olmadığına bakılmaksızın aynı yapılandırma dosyasını kullanır.
-B body_type İleti gövdesinin MIME türü: 7BIT veya 8BITMIME.
-bd: Artalan işlemi (daemon) moduna geçer. Bu çalışma modu "postfix start" komutu çalıştırılarak uygulanır.
-bh (yoksayılır)
-bH (yoksayılır) Postfix'in kalıcı bir ana bilgisayar (host) durum veritabanı yoktur.
-bi: Rumuz veritabanını başlatır. Yukarıdaki newaliases komutuna bakın.-bl: Artalan işlemi (daemon) moduna geçer. Sendmail'in -bl seçeneğinde olduğu gibi yalnızca yerel bağlantıları kabul etmek için Postfix'in main.cf yapılandırma dosyasında "inet_interfaces = loopback" belirtin.-bm: Standart girdiden postayı okur ve teslim edilmesini sağlar. Bu, varsayılan çalışma modudur.-bp: Posta kuyruğunu listeler. Yukarıdaki mailq komutuna bakın.-bs: Bağımsız (stand-alone) SMTP sunucu modu. Standart girdiden SMTP komutlarını okur ve standart çıktıya yanıtları yazar. Bağımsız SMTP sunucu modunda, posta aktarımı (relaying) ve diğer erişim kontrolleri varsayılan olarak devre dışıdır. Bunları etkinleştirmek için işlemi mail_owner kullanıcısı olarak çalıştırın.
Bu çalışma modu, smtpd(8) artalan işlemi (daemon) çalıştırılarak uygulanır.
-bv: Bir iletiyi toplamaz veya teslim etmez. Bunun yerine, her bir alıcı adresini doğruladıktan sonra bir e-posta raporu gönderir. Bu, adres yeniden yazma ve yönlendirme yapılandırmalarını test etmek için kullanışlıdır.
Bu özellik Postfix 2.1 ve sonraki sürümlerinde mevcuttur.
-C config_file
-C config_dir Postfix main.cf dosyasının veya onun üst dizininin yol adı. Bu bilgi, 2.3'ten önceki Postfix sürümlerinde yoksayılır.
Postfix sürüm 3.2 ve sonrasında, varsayılan olmayan bir dizin, varsayılan main.cf dosyasında alternate_config_directories veya multi_instance_directories parametreleri aracılığıyla yetkilendirilmelidir.
Tüm Postfix sürümlerinde, yapılandırma dosyalarının konumunu geçersiz kılmak için MAIL_CONFIG ortam değişkeni ile bir dizin yol adı belirtebilirsiniz.
-F full_name Göndericinin tam adını ayarlar. Bu, NAME ortam değişkenini geçersiz kılar ve yalnızca From: ileti başlığı olmayan iletilerle kullanılır.
-f sender Zarf gönderici adresini ayarlar. Bu, teslimat sorunlarının gönderildiği adrestir. 2.1'den önceki Postfix sürümlerinde, Errors-To: ileti başlığı hata dönüş adresini geçersiz kılar.
-G: İlk kullanıcı gönderiminin aksine, geçit (gateway - relay) gönderimi. Adresleri ya hiç yeniden yazmaz ya da eksik adresleri remote_header_rewrite_domain ile belirtilen alan adı bilgisiyle günceller.
Bu seçenek Postfix sürüm 2.3'ten önce yoksayılır.
-h hop_count (yoksayılır) Sıçrama sayısı (hop count) sınırı. Bunun yerine hopcount_limit yapılandırma parametresini kullanın.
-I: Rumuz veritabanını başlatır. Yukarıdaki newaliases komutuna bakın.-i: Standart girdiden bir ileti okurken, yalnızca tek bir . karakteri içeren bir satırı girdinin sonu olarak kabul etmez.
-L label (yoksayılır) Günlükleme (logging) etiketi. Bunun yerine syslog_name yapılandırma parametresini kullanın.
-m (yoksayılır) Geriye dönük uyumluluk.
-N dsn (varsayılan: 'delay, failure') Teslimat durumu bildirimi (DSN) kontrolü. failure (teslimat başarısız olduğunda bildirim gönder), delay (teslimat geciktiğinde bildirim gönder) veya success (ileti teslim edildiğinde bildirim gönder) seçeneklerinden bir veya daha fazlasını içeren virgülle ayrılmış bir liste belirtin; ya da never (hiçbir bildirim gönderme) değerini belirtin.
Bu özellik Postfix 2.3 ve sonraki sürümlerinde mevcuttur.
-n (yoksayılır) Geriye dönük uyumluluk.
-oAalias_database Varsayılan olmayan rumuz veritabanı. Yol adı veya tür:yol_adı belirtin. Detaylar için postalias(1) kılavuzuna bakın.
-O option=value (yoksayılır) Belirtilen seçeneğe değer atar. Bunun yerine main.cf içindeki eşdeğer yapılandırma parametresini kullanın.
-o7 (yoksayılır)
-o8 (yoksayılır) 8-bit veya ikili (binary) içerik göndermek için uygun bir MIME kapsüllemesi kullanın ve uygun -B komut satırı seçeneğini belirtin.
-oi: Standart girdiden bir ileti okurken, yalnızca tek bir . karakteri içeren bir satırı girdinin sonu olarak kabul etmez.
-om (yoksayılır) Gönderici asla rumuz vb. genişletmelerinden çıkarılmaz.
-o x value (yoksayılır) x seçeneğine değer atar. Bunun yerine main.cf içindeki eşdeğer yapılandırma parametresini kullanın.
-r sender Zarf gönderici adresini ayarlar. Bu, teslimat sorunlarının gönderildiği adrestir. 2.1'den önceki Postfix sürümlerinde, Errors-To: ileti başlığı hata dönüş adresini geçersiz kılar.
-R return Teslimat durumu bildirimi kontrolü. Bir ileti geri döndüğünde (bounce) yalnızca başlığı döndürmek için "hdrs", tam bir kopyasını döndürmek için "full" (varsayılan davranış) belirtin.
-R seçeneği bir üst sınır belirtir; tam bir kopya bounce_size_limit ayarını aştığında Postfix yalnızca başlığı döndürür.
Bu seçenek Postfix sürüm 2.10'dan önce yoksayılır.
-q: Kuyruğa alınmış tüm postaları teslim etmeye çalışır. Bu, postqueue(1) komutu çalıştırılarak uygulanır.
Uyarı: Teslim edilemeyen postaların sık sık temizlenmesi (flushing), diğer tüm postaların teslimat performansının düşmesine neden olur.
-qinterval (yoksayılır) Kuyruk çalıştırmaları arasındaki süre. Bunun yerine queue_run_delay yapılandırma parametresini kullanın.
-qIqueueid Belirtilen kuyruk kimliğine (ID) sahip postanın hemen teslim edilmesini planlar. Bu seçenek postqueue(1) komutu çalıştırılarak uygulanır ve Postfix sürüm 2.4 ve sonrasında mevcuttur.
-qRsite Belirtilen site için kuyruğa alınmış tüm postaların hemen teslim edilmesini planlar. Bu seçenek yalnızca "fast flush" hizmetine uygun site adlarını kabul eder ve postqueue(1) komutu çalıştırılarak uygulanır. "fast flush" hizmeti hakkında daha fazla bilgi için flush(8) kılavuzuna bakın.
-qSsite Bu komut uygulanmamıştır. Bunun yerine daha yavaş olan "sendmail -q" komutunu kullanın.
-t: Alıcıları ileti başlıklarından çıkarır. Bunlar, komut satırında belirtilen alıcılara eklenir.
2.1'den önceki Postfix sürümlerinde, bu seçenek komut satırında hiçbir alıcı adresinin belirtilmemesini gerektirir.
-U (yoksayılır) İlk kullanıcı gönderimi.
-V envid DSN'yi destekleyen sunucular tarafından bildirim için zarf kimliğini (envelope ID) belirtir.
Bu özellik Postfix 2.3 ve sonraki sürümlerinde mevcuttur.
-XV (Postfix 2.2 ve öncesi: -V) Değişken Zarf Dönüş Yolu (Variable Envelope Return Path - VERP). owner-listname@origin biçimindeki bir zarf gönderici adresi verildiğinde, her alıcı user@domain, kişiselleştirilmiş bir zarf gönderici adresiyle posta alır.
Varsayılan olarak, kişiselleştirilmiş zarf gönderici adresi owner-listname+user=domain@origin şeklindedir. Varsayılan + ve = karakterleri, default_verp_delimiters yapılandırma parametresi ile yapılandırılabilir.
-XVxy (Postfix 2.2 ve öncesi: -Vxy) -XV gibidir, ancak default_verp_delimiters yapılandırma parametresi ile belirtilen karakterler yerine VERP sınırlayıcı karakterleri olarak x ve y'yi kullanır.
-v: İlk teslimat denemesinin bir e-posta raporunu gönderir (Postfix sürüm 2.1 ve sonrası). Posta teslimatı her zaman arka planda gerçekleşir. Birden fazla -v seçeneği verildiğinde, hata ayıklama amacıyla ayrıntılı günlüklemeyi (verbose logging) etkinleştirir.
-X log_file (yoksayılır) Posta aracı (mailer) trafiğini günlüğe kaydeder. Bunun yerine debug_peer_list ve debug_peer_level yapılandırma parametrelerini kullanın.
Güvenlik
Tasarım gereği, bu program set-user-ID (veya set-group-ID) olarak çalışmaz. Ancak, güvenilmeyen ve muhtemelen uzaktaki kullanıcılardan gelen verileri işlemelidir. Bu nedenle, kötü niyetli girdilere karşı her zamanki önlemlerin alınması gerekir.
Hata Tanılama
Sorunlar syslogd(8)'ye ve standart hata akışına kaydedilir.
Ortam Değişkenleri
MAIL_CONFIG Postfix yapılandırma dosyalarını içeren dizin.
MAIL_VERBOSE (değerin bir önemi yoktur) Hata ayıklama amacıyla ayrıntılı günlüklemeyi etkinleştirir.
MAIL_DEBUG (değerin bir önemi yoktur) debugger_command yapılandırma parametresi ile belirtilen harici bir komutla hata ayıklamayı etkinleştirir.
NAME Göndericinin tam adı. Bu, yalnızca From: ileti başlığı olmayan iletilerle kullanılır. Ayrıca yukarıdaki -F seçeneğine de bakın.
Yapılandırma Parametreleri
Aşağıdaki main.cf parametreleri özellikle bu programla ilgilidir. Aşağıdaki metin yalnızca bir parametre özeti sunmaktadır. Örnekler de dahil olmak üzere daha fazla ayrıntı için postconf(5) kılavuzuna bakın.
Uyumluluk Kontrolleri
Postfix 2.9 ve sonraki sürümlerinde mevcuttur:
sendmail_fix_line_endings (her zaman)
Postfix sendmail komutunun e-posta iletisi satır sonlarını
Sorun Giderme Kontrolleri
DEBUG_README dosyası, bir Postfix sisteminde nasıl sorun giderileceğine dair örnekler sunar.
debugger_command (boş) Bir Postfix artalan işlemi (daemon) programı -D seçeneği ile çağrıldığında yürütülecek harici komut.
debug_peer_level (2) Uzak bir istemci veya sunucu debug_peer_list parametresindeki bir kalıpla eşleştiğinde ayrıntılı günlükleme seviyesindeki artış miktarı.
debug_peer_list (boş) Ayrıntılı günlükleme seviyesinin $debug_peer_level içinde belirtilen miktar kadar artmasına neden olan uzak istemci veya sunucu ana bilgisayar adı (hostname) ya da ağ adresi kalıplarının isteğe bağlı listesi.
Erişim Kontrolleri
Postfix sürüm 2.2 ve sonrasında mevcuttur:
authorized_flush_users (static:anyone) Kuyruğu temizleme (flush) yetkisine sahip kullanıcıların listesi.
authorized_mailq_users (static:anyone) Kuyruğu görüntüleme yetkisine sahip kullanıcıların listesi.
authorized_submit_users (static:anyone) sendmail(1) komutuyla (ve ayrıcalıklı postdrop(1) yardımcı komutuyla) posta gönderme yetkisine sahip kullanıcıların listesi.
Kaynak ve Oran Kontrolleri
bounce_size_limit (50000) Teslim edilemeyen bildirimi e-postasında gönderilen orijinal ileti metninin maksimum miktarı.
fork_attempts (5) Bir alt süreci (child process) fork() etmek için yapılacak maksimum deneme sayısı.
fork_delay (1s) Bir alt süreci fork() etme denemeleri arasındaki gecikme süresi.
hopcount_limit (50) Birincil ileti başlıklarında izin verilen maksimum Received: ileti başlığı sayısı.
queue_run_delay (300s) Kuyruk yöneticisi tarafından gerçekleştirilen ertelenmiş kuyruk taramaları arasındaki süre; Postfix 2.4'ten önce varsayılan değer 1000s idi.
Hızlı Temizleme (Fast Flush) Kontrolleri
ETRN_README dosyası, Postfix "fast flush" hizmetinin yapılandırma ve çalışma ayrıntılarını açıklar.
fast_flush_domains ($relay_domains) Bu hedeflere kuyruğa alınmış postalarla birlikte, hedef başına günlük dosyaları (logfiles) için uygun olan isteğe bağlı hedef listesi.
VERP Kontrolleri
VERP_README dosyası, değişken zarf dönüş yolu (VERP) adresleri için Postfix desteğinin yapılandırma ve çalışma ayrıntılarını açıklar.
default_verp_delimiters (+=) İki varsayılan VERP sınırlandırıcı karakteri.
verp_delimiter_filter (-=+) Postfix'in Postfix sendmail(1) komut satırında ve SMTP komutlarında VERP sınırlandırıcı karakterleri olarak kabul ettiği karakterler.
Çeşitli Kontroller
alias_database ('postconf -d' çıktısına bakın) "newaliases" veya "sendmail -bi" ile güncellenen yerel (local(8)) teslimat için rumuz veritabanları.
command_directory ('postconf -d' çıktısına bakın) Tüm postfix yönetim komutlarının konumu.
config_directory ('postconf -d' çıktısına bakın) Postfix main.cf ve master.cf yapılandırma dosyalarının varsayılan konumu.
daemon_directory ('postconf -d' çıktısına bakın) Postfix destek programları ve artalan işlemi (daemon) programlarını içeren dizin.
default_database_type ('postconf -d' çıktısına bakın) newaliases(1), postalias(1) ve postmap(1) komutlarında kullanılacak varsayılan veritabanı türü.
delay_warning_time (0h) Hâlâ kuyrukta bekleyen postaların ileti başlıklarının bir kopyasını göndericinin alacağı süre.
import_environment ('postconf -d' çıktısına bakın) Ayrıcalıklı bir Postfix sürecinin Postfix dışı bir üst süreçten (parent process) içe aktaracağı ortam parametrelerinin listesi veya name=value ortam geçersiz kılmaları.
mail_owner (postfix) Postfix kuyruğuna ve çoğu Postfix artalan işlemi sürecine sahip olan UNIX sistem hesabı.
queue_directory ('postconf -d' çıktısına bakın) Postfix üst düzey kuyruk dizininin konumu.
remote_header_rewrite_domain (boş) Bu parametre boş olduğunda uzak istemcilerden gelen ileti başlıklarını kesinlikle yeniden yazmaz; aksi takdirde, ileti başlıklarını yeniden yazar ve eksik adreslerin sonuna belirtilen alan adını ekler.
syslog_facility (mail) Postfix günlüklemesinin syslog birimi (syslog facility).
syslog_name ('postconf -d' çıktısına bakın) Syslog kayıtlarında süreç adının önüne eklenen bir önek, böylece örneğin "smtpd", "önek/smtpd" haline gelir.
Postfix 3.2 ve sonrası:
alternate_config_directories (boş) Komut satırında "-c config_directory" (sendmail(1) durumunda "-C config_directory" ile) veya MAIL_CONFIG ortam parametresi aracılığıyla belirtilebilen, varsayılan olmayan Postfix yapılandırma dizinlerinin listesi.
multi_instance_directories (boş) Varsayılan olmayan Postfix yapılandırma dizinlerinin isteğe bağlı bir listesi; bu dizinler, varsayılan Postfix örneğiyle (instance) Postfix çalıştırılabilir dosyalarını ve belgelerini paylaşan ve varsayılan Postfix örneğiyle birlikte başlatılan, durdurulan vb. ek Postfix örneklerine aittir.
Dosyalar
/var/spool/postfix, posta kuyruğu /etc/postfix, yapılandırma dosyaları
Ayrıca Bakınız
pickup(8), posta toplama artalan işlemi qmgr(8), kuyruk yöneticisi smtpd(8), SMTP sunucusu flush(8), fast flush hizmeti postsuper(1), kuyruk bakımı postalias(1), rumuz veritabanı oluşturma/güncelleme/sorgulama postdrop(1), posta gönderme aracı postfix(1), posta sistemi kontrolü postqueue(1), posta kuyruğu kontrolü syslogd(8), sistem günlükleme
Readme Dosyaları
Bu bilgileri bulmak için "postconf readme_directory" veya "postconf html_directory" komutunu kullanın. DEBUG_README, Postfix hata ayıklama kılavuzu (howto) ETRN_README, Postfix ETRN kılavuzu (howto) VERP_README, Postfix VERP kılavuzu (howto)
Lisans
Secure Mailer lisansı bu yazılımla birlikte dağıtılmalıdır.
Yazar(lar)
Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA
Wietse Venema Google, Inc. 111 8th Avenue New York, NY 10011, USA
SENDMAIL(1)