Ini ialah mel isihan arahan yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
sortmail - mengklasifikasikan mel masuk
SINOPSIS
surat isihan [ -v ] [ -terse ] [ -rumah jalan ] [ -peti mel jalan ] [ -mailrc initfile ] [
-sortmailrc initfile ] [ -peti masuk nama fail ] [ -kotak ] [ -pop|pop3|pop2 pengguna:kata laluan@hos ]
[ -pop|pop3|pop2 /jalan ] [ -simpan ] [ -noapop ] [ var=nilai ] [ -dumpCrcs nama dbm ] [
-sahkan ] [ -turun ] nama pengguna
DESCRIPTION
mel isih membaca dan mengklasifikasikan e-mel mengikut corak yang anda tentukan. Ia boleh digunakan untuk
memproses mel masuk, menapis senarai mel, memproses folder mel atau memuat turun mel daripada
pelayan POP.
Untuk memproses mel masuk, buat ini .ke hadapan fail dalam direktori rumah anda:
"| /jalan/sortmail pengguna"
Di mana "/jalan/sortmail" ialah laluan penuh tempat anda memasang sortmail, dan pengguna adalah milik anda
ID Pengguna. Id pengguna mesti dinyatakan kerana apabila mel tiba, surat isihan boleh dijalankan sebagai
akar, daemon, atau sebarang bilangan uid lain.
Sebaik sahaja anda .ke hadapan fail disediakan, surat isihan akan mengklasifikasikan mel masuk mengikut
corak dalam $HOME/.sortmailrc. awak .sortmailrc fail adalah serupa dengan fail KILL berita, tetapi
agak lebih berkuasa. Anda boleh membuang mel, menghantarnya ke peti mel anda, memilikinya
difailkan ke dalam folder, majukannya ke alamat lain atau bahkan menyalurkannya melalui cangkerang
perintah.
Jangan biarkan senarai panjang pilihan dan arahan di bawah menakutkan anda. Pengguna baharu mungkin melakukannya
baik untuk melangkau ke bahagian CONTOH di bawah, dan/atau baca README dan fail sampel dalam
/usr/share/doc/sortmail.
Bila surat isihan dimulakan, ia mula-mula membaca fail konfigurasi berikut: /usr/lib/sortmailrc,
/usr/local/lib/sortmailrc, /etc/sortmailrc, /usr/etc/sortmailrc,
/usr/local/etc/sortmailrc, $HOME/.mailrc dan $HOME/.sortmailrc.
PILIHAN
-v Berkata-kata. Mesej dicetak stderr atau fail log yang anda pilih
setiap mesej mel. Sesaat -v menyebabkan lebih banyak maklumat
dicetak.
-terse Tetapkan verbositi kepada 1, tinggalkan cap masa.
-rumah jalan Tetapkan direktori rumah pengguna, mengatasi lalai yang diambil daripada direktori pengguna
entri passwd.
-peti mel jalan Tetapkan peti mel sistem pengguna, mengatasi lalai untuk sistem anda
(/var/mel/pengguna).
-mailrc jalan Tetapkan fail .mailrc, mengatasi lalai bagi ~/.mailrc. Jalan mungkin
dinyatakan sebagai /fullpath, ~/jalan, ~pengguna/jalan, Atau jalan. Borang terakhir ialah
sama seperti ~/jalan.
-sortmailrc jalan
Tetapkan fail .sortmailrc, mengatasi lalai bagi ~/.sortmailrc. Jalan
boleh ditentukan seperti dengan -mailrc, di atas.
-peti masuk nama fail
Ambil input daripada fail bernama dan bukannya stdin. Nama fail mungkin /abspath
"~/jalan","~pengguna/jalan" atau "+nama folder". Apabila protokol POP2 digunakan, ini
pilihan boleh digunakan untuk memilih peti masuk dan bukannya peti mel lalai.
-kotak Menunjukkan bahawa input ialah peti mel Berkeley standard yang mengandungi berbilang
mesej, bukannya satu mesej. Digunakan untuk memproses keseluruhan peti mel
sekaligus.
-pop pengguna:kata laluan@hos
Sortmail menyambung ke pelayan yang ditentukan, memuat turun mel dan memprosesnya.
Jika kata laluan tidak dinyatakan, pengguna digesa secara interaktif. Catatan: it
is sangat disyorkan supaya anda lakukan tidak nyatakan kata laluan pada arahan
talian pada sistem berbilang pengguna, lihat di bawah.
mel isih cuba menggunakan protokol pop3 dan pop2 dalam susunan itu. Untuk
sebab yang jelas, id pengguna mungkin tidak mengandungi ':'.
Banyak pembekal memberikan nama pengguna yang mengandungi '@', cth [e-mel dilindungi]. dalam
kes ini, hujah untuk -pop akan kelihatan seperti
[e-mel dilindungi]@pop.foo.com.
Atas sebab keselamatan, surat isihan cuba menyembunyikan maklumat ini daripada
arahan "ps", tetapi ini tidak berfungsi di bawah semua sistem pengendalian (cth
Solaris). Adalah sangat tidak digalakkan untuk menyatakan kata laluan pada
baris arahan atas sebab ini.
-pop /jalan Varian arahan -pop ini membaca satu baris daripada yang ditentukan
fail, mengandungi pengguna:kata laluan@hos. Ini lebih selamat daripada menyatakan
kata laluan pada baris arahan. Fail mesti dinyatakan sebagai penuh
nama laluan, bermula dengan '/'.
-pop3 pengguna:kata laluan@hos
-pop3 /jalan Sortmail menyambung ke pelayan pop3 yang ditentukan, memuat turun mel dan
memprosesnya.
-pop2 pengguna:kata laluan@hos
-pop2 /jalan Sortmail menyambung ke pelayan pop2 yang ditentukan, memuat turun mel dan
memprosesnya.
-simpan Untuk kegunaan POP atau apabila -inbox dan -mbox ditentukan. Menunjukkan bahawa semua
mesej harus ditinggalkan dalam kotak input sumber dan bukannya dipadamkan.
-noapop Untuk POP3, jangan cuba menggunakan pengesahan APOP. Pilihan ini digunakan
apabila berurusan dengan pelayan rosak yang tidak mengendalikan APOP dengan betul.
pembolehubah=nilai Tetapkan pembolehubah pada baris arahan. Ruang tidak dibenarkan di dalam
tali.
-dumpCrcs nama dbm
Buang pangkalan data semakan lantunan ke dalam nama dbm.{dir,pag} untuk tujuan nyahpepijat.
-sahkan Sahkan sahaja. Periksa fail mailrc dan sortmailrc untuk mencari ralat dan keluar.
-turun Versi cetak dan keluar. Jika pilihan ini gagal, anda mempunyai versi
1.sesuatu.
SORTMAILRC FORMAT
Fail .sortmailrc anda ialah satu siri baris dalam borang
menetapkan pembolehubah=nilai
/ekspresi biasa/pengubah:arahan[:arahan...]
[alamat IP]pengubah:perintah..
[ip-address/mask]pengubah:perintah..
[alamat IP - alamat IP]pengubah:perintah..
(ungkapan logik):arahan[:arahan...]
termasukrc nama fail
senaraikan termasuk nama fail
listexclude nama fail
header garis tajuk
menggantikan garis tajuk
bouncecheck nama dbm
di mana ekspresi biasa ada ed(1)-ekspresi biasa gaya, perubahan adalah salah satu daripada i, t,
f, s, h, a, o, dan arahan adalah salah satu m, j, v, f fail, a fail, d fail, +fail, Atau | arahan.
Berbilang arahan boleh diletakkan pada baris, dipisahkan dengan ':'s. Jika anda perlu meletakkan ':'
dalam arahan untuk sebarang sebab, elakkannya dengan '\'.
Pengguna KILLfiles gaya rn akan biasa dengan format ini.
[alamat IP] borang menentukan alamat IP literal untuk dipadankan (cth 192.168.3.4) atau
alamat IP separa (cth 192.168.3). Ini berbeza daripada ungkapan biasa yang
'.' watak mesti sepadan secara literal, dan corak mesti sepadan pada permulaan (cth
129.192.168.3 tidak akan sepadan dengan corak yang diberikan di atas.) (Perhatikan bahawa aksara '[]'
adalah literal di sini, dan tidak menandakan hujah pilihan.)
Alamat IP juga boleh ditentukan sebagai julat, contohnya "[192.168.0.0/16]" akan sepadan dengan semua IP
alamat yang mengandungi 192.168 dalam 16 bit pertama. Akhirnya, alamat IP juga mungkin
dinyatakan sebagai cth "[192.168.0.0 - "192.168.255.255]".
CARIAN PENGUBAH
Pengubah suai ini mempengaruhi cara ungkapan biasa digunakan pada mel masuk. The
lalai ialah 's'.
i Abaikan kes.
o Nilaikan pembolehubah dalam corak sekali sahaja, apabila fail sortmailrc dibaca. Tanpa ini
pilihan, pembolehubah dinilai setiap kali corak diuji. Jika corak
tidak mengandungi pembolehubah, pengubah suai ini tidak mempunyai kesan.
s Uji baris "Subjek: " mel terhadap ungkapan biasa.
t Uji baris mel "Kepada: ", "Sk: " dan "Nampaknya-Kepada: " terhadap mel biasa
ungkapan.
f Uji baris "Dari: " mel terhadap ungkapan biasa.
r Uji baris Diterima: mel masuk terhadap ungkapan biasa.
h Uji keseluruhan pengepala mel masuk terhadap ungkapan biasa.
a Uji keseluruhan mesej mel masuk terhadap ungkapan biasa.
Sebarang gabungan s,t,f,h,a boleh digunakan. Jika tiada yang dinyatakan, 's' diandaikan.
CARIAN PERINTAH
Arahan ini dilaksanakan untuk sebarang mesej yang sepadan dengan corak carian.
:m Hantar mesej ke peti mel pengguna.
:m alamat
Majukan mel ke alamat yang ditentukan.
:j Padamkan mesej ("sampah" itu.)
:e n Tetapkan kod keluar kepada n. Apabila pemprosesan selesai, surat isihan akan keluar dengan
kod keluar yang diberikan bukannya sifar.
:E n Keluar segera dengan kod keluar n.
:k Simpan mesej itu. Apabila memuat turun mesej daripada pelayan POP, atau apabila -inbox
dan -mbox ditentukan, mesej biasanya dipadamkan dari peti mel sekali
pemindahan berjaya. Pilihan ini menyebabkan mesej tertinggal.
:f folder Tambahkan mesej pada folder mel yang diberikan. folder mungkin dalam format
~/jalan, /abspath, ~pengguna/laluan, atau +nama. Bentuk terakhir mengembang kepada
~/nama folder di mana folder ialah nilai yang ditentukan untuk $folder berubah-ubah
(lalai ialah "folder".)
:+folder singkatan untuk "f +folder".
:d fail Tambahkan mesej pada fail yang diberikan dalam bentuk ringkasan. fail mungkin dalam format
~/jalan, /abspath, ~pengguna/laluan, atau +nama.
Borang "Digest" ialah borang yang dilucutkan di mana setiap mesej mengandungi hanya "Dari:",
Pengepala dan mesej "Subjek:" dan "Tarikh:" dipisahkan oleh barisan sempang.
:a fail "Arkib". Sama untuk dicerna.
:| arahan
Paipkan mesej mel melalui yang diberikan perintah shell. sh(1) digunakan.
:c Teruskan pemprosesan. Biasanya, surat isihan menggunakan ungkapan carian pada mel
mesej sehingga padanan ditemui. Pada ketika ini, mesej dihantar dan
surat isihan sudah tamat. Perintah ini menyebabkan surat isihan untuk terus membandingkan
mesej kepada lebih banyak corak. Pilihan ini boleh dianggap "teruskan", "Sk" atau
"salin" mengikut kehendak anda. Oleh itu, mesej boleh dihantar ke lebih daripada satu destinasi.
PERINTAH
Berikut ialah senarai arahan yang mungkin terkandung dalam .mailrc atau .sortmailrc
fail.
menetapkan berubah-ubah = nilai
Tetapkan pembolehubah persekitaran. Pembolehubah yang digunakan oleh surat isihan disenaraikan di bawah. Petikan
di sekeliling rentetan tidak diperlukan. Aksara khas seperti '$' atau '\' mungkin
dipetik dengan '\'. Pembolehubah boleh dimasukkan dalam rentetan nilai dalam borang
$nama atau ${nama}.
Ambil perhatian bahawa menetapkan arahan diproses serta-merta apabila fail init dibaca. Lain-lain
arahan diproses semasa mesej mel dibaca. Justeru, semua menetapkan arahan adalah
diproses sebelum sebarang arahan lain, tanpa mengira susunannya dalam fail init.
senaraikan termasuk nama fail
Digunakan untuk pentadbiran senarai mel (lihat di bawah). Abaikan arahan ini jika anda tidak
menggunakan sortmail untuk mentadbir senarai mel.
Perintah ini menentukan fail yang mengandungi senarai alamat yang dibenarkan
hantar ke senarai. Setiap baris fail mengandungi satu ungkapan biasa, yang
mewakili alamat e-mel ahli senarai. Garisan dalam format
Nama Pengguna
hanya akan menggunakan alamat sebahagian daripada barisan. Ini membolehkan senarai mel itu sendiri
digunakan sebagai senarai termasuk.
Senarai berbilang termasuk boleh ditentukan dengan berbilang senaraikan termasuk arahan. Sekiranya
perintah listinclude digunakan, poster ke senarai mesti ditemui dalam sekurang-kurangnya satu daripada
senarai-senarai tersebut. Jika tiada fail termasuk dinyatakan, sesiapa sahaja boleh menghantar.
Mesej yang ditolak dikendalikan mengikut $menolak pembolehubah, yang
mesti wujud dan yang mengandungi sama ada nama fail atau arahan carian (lihat di bawah.)
Untuk maklumat lanjut tentang sertakan dan kecualikan fail, lihat PENGHANTARAN SENARAI, di bawah.
listexclude nama fail
Tentukan senarai alamat yang tidak dibenarkan untuk disiarkan ke senarai. Sama
format sebagai senaraikan termasuk. Untuk menghantar ke senarai, pengguna mesti berada dalam
senaraikan termasuk fail (jika ada) dan tidak dalam listexclude fail.
menggantikan Kepala: nilai
Digunakan untuk pemprosesan senarai mel. Garis pengepala yang sepadan dengan pengepala yang ditentukan ialah
diganti dengan nilai baru. Jika tiada padanan ditemui, garisan itu dilampirkan pada
pengepala mesej. Biasanya digunakan untuk menukar pengepala "Daripada: " untuk menentukan senarai
alamat dan bukannya pemula, dan untuk menetapkan pengepala "Error-To:".
Jika nilai medan kosong, baris pengepala yang ditentukan dipadamkan.
header Kepala: nilai
Format yang sama seperti menggantikan, kecuali baris pengepala sentiasa dilampirkan pada pengepala,
tidak diganti. Biasanya digunakan untuk menambah komen.
bouncecheck nama dbm
Mekanisme pilihan terakhir untuk mengesan gelung mel. Cincang crc-32 bahagian teks
mesej dikira dan disimpan dalam nama dbm.{dir,pag}. Jika mesej lain dengan
kod cincang yang sama ditemui dalam 60 hari akan datang, mesej ditolak dan
dilupuskan seperti yang diterangkan dalam $menolak
Ini bukan mekanisme yang sempurna, walau bagaimanapun, kerana pengirim yang rosak boleh memilih untuk menambah beberapa
komen pada mesej sebelum melantunkannya semula.
termasukrc nama fail
Proses arahan daripada fail bernama. Sertakan fail mungkin bersarang.
PELBAGAI
Pembolehubah digunakan dalam bentuk $nama atau ${nama}. Pembolehubah mungkin muncul di mana-mana dalam
fail init.
mel isih menggunakan pembolehubah berikut, yang boleh diubah dalam anda .mailrc or .sortmailrc
fail. Pembolehubah juga boleh ditetapkan pada baris arahan.
lalai Perintah yang digunakan untuk mengendalikan mel yang tidak boleh diklasifikasikan. Tingkah laku lalai adalah meletakkan
mel tidak boleh diklasifikasikan ke dalam peti mel. Satu lagi nilai munasabah mungkin "+lain".
kelewatan Digunakan untuk mengelakkan gelung mel lari; amat berguna untuk senarai mel
pentadbiran. Menentukan kelewatan dalam beberapa saat untuk dikenakan sebelum mel dibuat
dimajukan ke alamat lain atau disalurkan melalui arahan. Contohnya, a
Kelewatan 600 saat (sepuluh minit) akan mengehadkan gelung mel kepada satu mesej setiap sepuluh
minit.
folder Direktori folder mel pengguna. Folder mel dilambangkan dengan '+' masuk
nama mereka, dan disimpan dalam ~pengguna/$folder/. Lalai ialah "folder". Ramai
orang memilih untuk menetapkan ini kepada "Mel" sebaliknya.
dari Digunakan untuk pentadbiran senarai mel. Menentukan nilai baris "Daripada".
apabila mel dimajukan ke senarai. Tidak semua versi sendmail akan dihormati
ini. Anda mungkin perlu membuat sortmail suid-uucp atau menambah nama pengguna anda pada
entri "pengguna yang dipercayai" dalam /etc/sendmail.cf.
LAMAN UTAMA Direktori rumah pengguna. Digunakan untuk mencari fail permulaan dan fail pengguna
folder direktori. Lalai ialah ~pengguna.
talian Bilangan baris teks dalam mesej. Ditetapkan melalui surat isihan dan dikemas kini untuk setiap
mesej.
fail log Mesej penyahpepijatan dihantar ke fail log yang ditentukan. Jika surat isihan dilaksanakan
daripada baris arahan, lalai ialah stderr. Jika tidak, lalainya ialah
/tmp/sortmail.log.
Jika fail log tidak boleh dibuka, stderr digunakan. Ambil perhatian bahawa apabila surat isihan digunakan
daripada fail .forward anda untuk menapis mesej masuk, mesej dihantar ke stderr
akan dihantar semula kepada pengirim sebagai lantunan.
peti mel Peti mel pengguna. Lalai ialah /var/mel/pengguna.
mailrc Laluan penuh pengguna .mailrc fail. Tidak ada gunanya mengubah ini.
maxlines Bilangan maksimum baris mesej yang akan dicari semasa padanan corak.
Mengehadkan nilai ini boleh menjadikan carian lebih cepat dan menghalang / tmp direktori
daripada mengisi. Nilai lalai ialah 5000.
menolak Digunakan untuk pentadbiran senarai mel. Menentukan fail atau arahan yang
mel yang ditolak dihantar.
hantar surat Perintah yang digunakan untuk menghantar mel. Nilai lalai ialah "/usr/lib/sendmail -om -oi".
Jika '%f' berlaku dalam rentetan, ia akan dikembangkan kepada nama fail sementara
yang mengandungi mesej. Jika tidak, mesej akan dihantar ke
input standard arahan.
Nilai khas "SMTP" dan "nama hos SMTP" menyebabkan mesej dihantar
terus ke port SMTP.
saiz Saiz mesej dalam bait. Ditetapkan melalui surat isihan dan dikemas kini untuk setiap mesej.
sortmailrc
Laluan penuh pengguna .sortmailrc fail. Tidak ada gunanya untuk berubah
ini.
timeout Tamat masa dalam beberapa saat untuk sambungan POP.
pengguna Pengguna bagi pihak siapa surat isihan adalah berlari. Nilai ini mesti dinyatakan pada
baris arahan apabila sortmail dilaksanakan daripada fail .forward, tetapi mungkin
berubah kemudian. Ia digunakan untuk menentukan direktori rumah pengguna, antara lain
perkara-perkara.
bercuti Jika ditetapkan, hantar ke pengguna juga akan disalurkan melalui paip bercuti(1).
TMPDIR Direktori yang digunakan untuk fail sementara. Lalai ialah "/ tmp".
Di samping itu, surat isihan mentakrifkan pembolehubah persekitaran berikut sebelum menghantar mesej
ke program lain.
DARIPADA Pengirim mesej
TERTAKLUK Baris subjek daripada mesej masuk
CONTOH
Berikut adalah contoh .sortmailrc fail:
tetapkan lalai=+lain
/MAILER-DAEMON/f:+melantun
/falk/t:m
/bldg8/t:m
/joe/f:m:c
/untuk brenda/s:k
/scubaclub/t:+skuba
/skuba/s:+skuba
/marko/f:j
/testing/t:m falk@lab
/jym@apple/f:| /home/falk/bin/fixjim
/^Keutamaan: sampah/j:+lain
(/bil/f && /menyelam/s):+skuba
[211.114.0.0/16]r:j
Dalam contoh ini, direktori folder dan pembolehubah lain mempunyai apa-apa nilai
dinyatakan dalam .mailrc. Mel yang tidak boleh diklasifikasikan akan dihantar ke folder "+lain". Mel daripada
"MAILER-DAEMON" dihantar ke folder "+melantun". Mel kepada "falk" atau "bldg8" dihantar
terus ke peti mel saya.
Mel daripada rakan saya joe dihantar terus ke peti mel saya, dan pemprosesan diteruskan dengan teratur
untuk melihat jika ada tempat lain yang patut dituju juga.
Mel berlabel "untuk brenda" ditinggalkan di pelayan POP tanpa disentuh. (Ini hanya berfungsi jika
e-mel sedang dimuat turun dari pelayan POP; ia akan hilang jika tidak.)
Mel ke kelab skuba atau dengan "skuba" dalam baris subjek dihantar ke folder "+skuba".
Mel dari marko dibuang tidak dibaca. Mel kepada alias "pengujian" dimajukan kepada saya
akaun pada mesin lain.
Mel daripada rakan saya jym, yang memformat melnya dengan cara yang lucu dihantar melalui cangkerang
skrip yang membersihkan mesejnya dan melampirkannya pada peti mel saya. Mel mesej dengan
"^Precedence: junk" di mana-mana dalam pengepala difailkan dalam +lain.
Baris sebelah-ke-akhir menunjukkan ciri baharu untuk mel isih versi 2: ungkapan logik. Dalam
kes ini, mel daripada bil dengan subjek "menyelam" ditambahkan pada folder skuba. Logik
ungkapan diterangkan secara terperinci di bawah.
Akhir sekali, baris terakhir menunjukkan satu lagi ciri baharu untuk sortmail versi 2: julat IP. Dalam
kes ini, semua e-mel dengan alamat IP dalam julat "211.114.0.0/16" dalam "Diterima:"
baris akan dibuang tanpa dibaca.
Ambil perhatian bahawa corak digunakan dalam susunan yang diberikan; adalah penting, sebagai contoh, itu
corak "MAILER-DAEMON" mendahului corak "falk" supaya mel daripada MAILER-DAEMON adalah
difailkan dalam +melantun walaupun ditujukan kepada saya secara peribadi. Begitu juga, mel dari marko tidak akan
menjadi sampah jika ditujukan kepada saya secara peribadi.
LOGIK EKSPRESI
Ungkapan logik membolehkan anda menentukan peraturan yang lebih rumit untuk memproses mel. Untuk
contoh, anda boleh menentukan bahawa semua mel daripada domain tertentu dengan saiz lebih besar daripada a
jumlah tertentu dipadamkan belum dibaca melainkan kata kunci tertentu ditemui dalam pengepala.
Ungkapan logik terdiri daripada operator berikut, dikumpulkan mengikut urutan keutamaan:
┌──────────┬────────────────────────────────────── ─────┐
│ n │ pemalar integer │
│ $var │ pembolehubah. │
│/pola/ │ ungkapan biasa. Menilai sebagai 0 atau 1. │
├──────────┼────────────────────────────────────── ─────┤
│ ! │ logik tidak │
├──────────┼────────────────────────────────────── ─────┤
│ * │ darab │
│ / │ bahagi │
├──────────┼────────────────────────────────────── ─────┤
│ + │ tambah │
│ - │ tolak │
├──────────┼────────────────────────────────────── ─────┤
│ < │ kurang daripada │
│ <= │ kurang daripada atau sama │
│ > │ lebih besar daripada │
│ >= │ lebih besar daripada atau sama │
├──────────┼────────────────────────────────────── ─────┤
│ == │ sama │
│ != │ tidak sama │
├──────────┼────────────────────────────────────── ─────┤
│ & │ logik DAN │
│ && │ logik DAN │
├──────────┼────────────────────────────────────── ─────┤
│ | │ logik ATAU │
│ || │ logik ATAU │
├──────────┼────────────────────────────────────── ─────┤
│ , │ koma │
└──────────┴────────────────────────────────────── ─────┘
Susunan keutamaan dalam penilaian ungkapan boleh diubah suai dengan menggunakan kurungan.
Perintah ´:' boleh mengikut mana-mana kurungan rapat atau ungkapan biasa. Lihat contoh di bawah.
Bentuk kedua operasi logik DAN dan ATAU ("&&" dan "||") dioptimumkan dalam ini
cara: Jika separuh kiri AND adalah palsu, atau separuh kiri ATAU adalah benar, maka
tangan kanan tidak dinilai. Oleh itu, anda harus meletakkan ungkapan mudah (seperti a
padanan subjek) ke kiri dan ungkapan kompleks (seperti carian badan mesej) ke
betul. Jika ungkapan mudah dinilai kepada palsu atau benar masing-masing, kompleks
ungkapan tidak diuji.
Bentuk pertama operasi logik DAN dan ATAU ("&" dan "|") sentiasa menguji kedua-dua belah
ekspresi.
Pengendali koma patut mendapat sedikit penjelasan bagi mereka yang tidak biasa dengan C
bahasa. Pengendali koma menilai ungkapan pada kedua-dua belah dan mengembalikan
ungkapan di sebelah kanan -- mengabaikan yang di sebelah kiri. Oleh itu, ungkapan "3 , 4"
dinilai sebagai 4. Operator koma hanya berguna apabila ungkapan di sebelah kiri mempunyai
sejenis kesan sampingan apabila dinilai -- iaitu ia mengandungi arahan ':'.
Berikut ialah beberapa contoh ungkapan:
(/joe/f):m
mel dari joe datang terus kepada saya. Ini sama dengan /joe/f:m
(/joe/f && /menyelam/s):+skuba
mel daripada joe dengan "menyelam" dalam baris subjek pergi ke folder skuba.
(/joe/f && !/menyelam/s):m
/joe/f:+skuba
mel dari joe tanpa "menyelam" dalam baris subjek pergi terus kepada saya. Lain, mel dari joe
pergi ke folder skuba.
(/joe/f && $lines > 1000):j
Nampaknya joe menyiarkan satu lagi laporan percutian yang membosankan ke senarai skuba. sampahkan.
(/earthlink/r && $saiz > 32768 &&
!(/key west/ia || /caymans/ia) ):j
Sarap jika ia datang dari atau melalui pautan bumi (seperti yang ditunjukkan oleh Diterima: baris), and
saiz lebih besar daripada 32k and ia tidak mengandungi frasa "key west" atau "caymans"
di mana-mana dalam badan mesej. Kes diabaikan dalam carian badan. Perhatikan bahawa kita meneliti
badan mesej terakhir untuk mengelakkan memuat turun mesej yang tidak perlu.
Perhatikan juga bahawa ungkapan logik boleh diteruskan merentasi berbilang baris mengikut keperluan.
(1):+log mel:c
Ungkapan yang sangat mudah. (1) sentiasa benar, jadi semua mel yang sampai ke ini
ungkapan difailkan ke folder "log mel". Perintah ":c" menyebabkan pemprosesan kepada
teruskan.
Ungkapan ini sangat bagus untuk diletakkan di bahagian atas .sortmailrc anda semasa menguji a
konfigurasi baharu. Semua mel masuk disalin ke log sandaran sebelum lebih kompleks
ungkapan diuji.
(/joe/f:+joemail && /scuba/:+scuba)
Contoh ini menunjukkan penggunaan perintah ':' dalam ungkapan. Mel dari joe pergi ke
folder "joemail". Jika ia juga mengandungi subjek "skuba", ia pergi ke skuba
folder juga.
(/joe/f:+joemail , /scuba/:+scuba)
Contoh ini menunjukkan penggunaan operator ','. Mel daripada joe pergi ke folder joemail.
Sama ada ini sepadan atau tidak, mel itu diuji sekali lagi untuk melihat sama ada ia tergolong dalam skuba
folder. Jika ya, maka pemprosesan selesai.
(/seks/:+seks && /dadah/:+dadah && /rock-n-roll/:+rock):+bacchanalia
Corak ini tidak melakukan apa yang kelihatan seperti yang dimaksudkan untuk dilakukan. Iaitu, pada mulanya
Sekilas, ia kelihatan seolah-olah corak itu bertujuan untuk meletakkan semua mesej yang mengandungi "seks" masuk
subjek ke dalam folder seks, semua mesej "dadah" ke dalam folder dadah, semua "rock-n-
roll" mesej ke dalam folder rock and letakkan mesej ke dalam folder bacchanalia jika mereka
padankan pada ketiga-tiga kekunci. Walau bagaimanapun, ungkapan logik hanya dinilai setakat
perlu. Jika corak "seks" tidak dipadankan, dua seterusnya tidak akan diuji sama sekali.
Mesej "rock-n-roll" akan terlepas oleh corak ini.
Dalam kes ini, pengendali '&' harus digunakan dan bukannya '&&'.
PENGHANTARAN SENARAI
Langkau bahagian ini melainkan anda menggunakan surat isihan untuk mentadbir senarai mel.
Dalam persekitaran yang homogen, biasanya tidak perlu menggunakan surat isihan atau yang lain
penapis mel. Anda hanya akan membuat alias masuk / etc / alias dan biarkan hantar surat(8) pemegang
segala-galanya.
Walau bagaimanapun, dalam persekitaran yang heterogen, mungkin terdapat masalah. Dokumen internet
Rfc822 menentukan pengendalian mel internet, tetapi terdapat banyak mel di luar sana yang
jangan hormati Rfc822 dan menimbulkan masalah. Tidak menghairankan, banyak perkhidmatan utama
pembekal adalah antara pengacau yang paling teruk.
Perkara yang biasa berlaku ialah atas sebab tertentu, sesetengah ahli senarai mel anda tiba-tiba
tidak boleh menerima mel. Pembekal perkhidmatan di hujung pengguna melantun semula mesej ralat
kepada senarai itu sendiri dan bukannya kepada pengirim asal atau pentadbir. Kesalahan
mesej kemudiannya dihantar semula kepada pelanggan senarai -- termasuk yang tidak dapat menerima
mel, menyebabkan lantunan lain. Ini mencipta gelung, menghantar dan menghantar semula mesej lantunan
kepada semua orang di gelung setiap beberapa minit. Undang-undang Murphy menyatakan bahawa ini akan berlaku
semasa anda bercuti.
Berikut ialah cara untuk mentadbir senarai mel:
Pertama, (sebagai akar) edit / etc / alias dan tambah baris berikut:
scubaclub: "| /usr/yourname/sortmail -sortmailrc scubaclubrc yourname"
scubaclub-real: :include:/usr/yourname/scubalist
scubaclub-request: nama anda
pemilik-scubaclub: nama anda
Entri pertama menunjukkan bahawa mel ke kelab skuba melalui surat isihan, menggunakan a
fail sortmailrc tertentu. Entri kedua adalah alias kelab skuba yang sebenarnya
sortmail akan memajukan mel. Entri ketiga ialah alamat senarai standard yang akan
digunakan oleh pengguna untuk menghubungi anda secara langsung; ini harus sentiasa wujud untuk mana-mana senarai mel. The
entri akhir digunakan oleh sistem sendmail untuk menghantar semula ralat dalaman kepada anda.
(Kebanyakan sistem unix memerlukan anda untuk menjalankan newalias(8) selepas mengedit /etc/aliases.)
Kedua, buat /usr/yourname/scubalist, yang mengandungi nama dan alamat semua orang di dalamnya
senarai.
nama awak
Joe Shmoe[e-mel dilindungi]>
Jane Doe[e-mel dilindungi]>
(dan lain-lain.)
Ketiga, buat fail sortmailrc yang akan digunakan untuk menapis mel masuk.
# pembolehubah umum
set alias = kelab skuba
pemilik set = nama anda
tetapkan tapak = yourhost.com
set digestDir = ~/Maillists/Scubaclub
# mel yang melalui penapis akan dihantar ke
# senarai dan diarkibkan.
tetapkan lalai = m $alias-real@$site:a $digestDir/archive
# mel yang ditolak dihantar kepada saya
set tolak = m $owner
# tangkap apa-apa yang kelihatan seperti lantunan atau gelung
/Mailer-Daemon/f:m $owner
/MAILER-DAEMON/f:m $owner
/Postmaster/f:m $owner
/scubaclub/f:m $owner
/Nama-Senarai-X: kelab skuba/h:m $owner
bouncecheck $digestDir/bounceDb
# (Atas sebab tertentu, kami tidak boleh menetapkan Ralat-Kepada $owner@$site,
# kerana jika kita lakukan, sendmail akan mengembangkan $owner menjadi an
# nilai tidak sah sebelum menyambung ke SMTP. Ia mungkin akan
# ok jika saya tidak mempunyai fail .forward peribadi. Dengan menambah
# a '\' ke alamat, kami mengelakkan masalah itu.)
ganti Reply-To: $alias@$site
gantikan Errors-To: \\$owner@$site
header Komen: hantar permintaan tambah/padam ke $alias-request@$site
tajuk X-Nama-Senarai: $alias
Dalam contoh ini, pembolehubah $alias, $owner, $site dan $digestDir tidak digunakan
secara dalaman melalui surat isihan, tetapi dicipta untuk kemudahan dan umum.
Corak carian digunakan untuk mengesan kemungkinan gelung mel, dan oleh itu, sentiasa hantar mel
kepada pemiliknya. Mel yang menjadikannya tanpa sepadan dengan mana-mana corak dihantar ke
senarai.
Sebagai pilihan terakhir, mel diproses oleh arahan bouncecheck yang mengekalkan a
pangkalan data mesej yang dilihat sebelum ini dan akan menolak sebarang mesej yang nampaknya a
ulangi.
Jika mel melalui semua corak yang tidak sepadan, ia mungkin mesej yang sah. Dalam
kes ini, mesej diproses oleh arahan dalam $lain, yang menghantar mesej kepada
alias sebenar dan tambahkan versi ringkasan mesej itu ke
~/Maillists/Scubaclub/archive.
Akhirnya, pengepala mel keluar diubah suai. Pengepala "Balas Kepada:" ditambah begitu
yang membalas mel daripada senarai dihantar ke senarai secara amnya, dan bukan hanya ke
penghantar mesej asal. Pengepala "Ralat-Kepada:" ditambah supaya lantunan akan berlaku
dihantar kepada pentadbir dan bukannya kepada senarai secara umum. (Bukan semua pemindahan mel
ejen menghormati tajuk "Error-To:".)
Baris pengepala "X-List-Name:" mempunyai dua tujuan. Pertama, ia membolehkan penerima tahu apa
mereka terima. Kedua, ini adalah helah yang digunakan untuk membantu mengesan lantunan. Ia ditambah begitu
supaya ia boleh dicari dalam mel masuk. Jika mesej masuk mengandungi ini
pengepala, kemungkinan besar ini adalah lantunan, dan dihantar kepada pentadbir untuk
pemeriksaan.
Jika sesetengah ahli senarai anda ingin menerima mesej dalam bentuk "cerna", anda boleh membahagikan
senaraikan kepada dua bahagian, satu biasa dan satu untuk ahli yang ingin dicerna. Tambah
baris berikut ke / etc / alias:
scubaclub-digest: :include:/usr/yourname/scubadigest
dan tukar $default dalam /usr/yourname/scubaclubrc:
tetapkan lalai = m $alias-real@foo:a $digestDir/archive:d $digestDir/digest
Kini, mesej masuk akan disalin ke ~/Maillists/Scubaclub/digest begitu juga untuk
~/Maillists/Scubaclub/archive. Pada setiap malam, laksanakan program yang akan menguji
lihat jika ~/Maillists/Scubaclub/digest tidak kosong, dan jika ya, hantarkannya ke kelab skuba-
digest@yourhost dan kosongkannya.
#! / Bin / sh
#
# kumpulkan fail ringkasan, sediakan beberapa maklumat pengepala dan hantar
digest=/usr/yourname/Maillists/Scubaclub/digest
alias=scubaclub
host=yourhost.com
jika [ ! -s $digest ] ; kemudian
jalan keluar 0
fi
kucing $cerna | awk"
BERMULA {
cetak \"Return-Path: $alias@$host\"
cetak \"Tarikh: `tarikh`\"
cetak \"Daripada: $alias@$host\"
cetak \"Kepada: $alias@$host\"
cetak \"Subjek: $alias digest\"
cetak \"Nama-Senarai-X: $alias\"
cetak \"\"
cetak \"\"
}
{cetak}" | \
/usr/lib/sendmail -om -oi -f$alias@$host $alias-digest
rm $cerna
sentuh $digest
chmod a+w $digest
NOTA
Ingat bahawa sortmail boleh dilaksanakan di bawah mana-mana id pengguna (cth root, daemon atau penghantar
mel) bergantung pada siapa yang menghantar mel dan sama ada ia datang dari tempatan atau tidak
mesin. Oleh sebab itu, anda tidak boleh bergantung pada mana-mana persekitaran pengguna untuk tersedia,
terutamanya pembolehubah dan laluan persekitaran. Semua nama fail dan nama program hendaklah
ditentukan sebagai laluan penuh, kecuali borang "~", "~pengguna" dan "+folder" difahami. The
kebenaran sortmail dan setiap direktori di sepanjang laluannya harus sedemikian rupa sehingga mana-mana pengguna
boleh melaksanakannya.
Jika anda menyalurkan mel masuk melalui program, program itu tidak seharusnya menjana sebarang output
untuk stdout atau stderr apa sahaja. Jika ia berlaku, output itu akan dihantar semula ke
pemula mel seolah-olah mel telah melantun.
Sentiasa uji persediaan anda dengan teliti, terutamanya apabila mentadbir senarai mel. Kesilapan
biasanya mengakibatkan mesej lantunan dihantar kepada pemula mel. Ini boleh jadi
malapetaka dengan senarai mel. Apabila menguji senarai mel, mulakan dengan senarai ujian
mengandungi hanya nama anda dan alamat buruk yang diketahui untuk menguji pengendalian lantunan. Penggunaan a
fail log dan -v disyorkan untuk beberapa hari pertama selepas dipasang.
Mekanisme pengesanan lantunan cuba menjadi mantap, tetapi seperti kata pepatah, anda tidak boleh
buat sistem yang tidak mudah kerana sesetengah orang bodoh cerdik. Tidak kira betapa telitinya
mekanisme pengesanan adalah, terdapat mailer rosak di luar sana di suatu tempat yang boleh mengalahkan
ia.
Jangan sekali-kali meninggalkan senarai mel tanpa pengawasan; ketika itulah gelung lantunan kelihatan sentiasa bermula. Jika
anda pergi bercuti, sama ada menutup senarai itu buat sementara waktu, atau menetapkan seseorang yang boleh
matikan dalam keadaan kecemasan.
EXIT STATUS
Nilai keluar berikut dikembalikan:
0 Keluar biasa, mel berjaya dihantar.
1 Keluar biasa, tetapi tiada mesej menunggu (pilihan -mbox dan -pop)
2 Ralat pengguna dalam pilihan baris arahan.
3 Ralat dalam fail .mailrc atau .sortmailrc.
4 Daripada ingatan
5 Tidak dapat menentukan nama pengguna
6 Tidak dapat menentukan direktori pengguna
7 Tidak boleh membuka fail sementara. Dalam kes ini, surat isihan percubaan untuk pulih dengan menulis
mel masuk ke peti masuk pengguna.
8 Tidak boleh membuka pangkalan data semakan lantunan (arahan-dumpCrcs)
9 Tidak boleh membuka fail input (pilihan peti masuk).
Gunakan sortmail dalam talian menggunakan perkhidmatan onworks.net