Ini ialah pembalas perintah 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
pembalas - Mail Avenger
DESCRIPTION
Mail Avenger ialah SMTP bebas MTA yang boleh dikonfigurasikan (Simple Mail Transport
pelayan Protokol) direka untuk membolehkan anda menapis dan melawan SPAM sebelum menerima mel masuk
daripada mesin pelanggan. pembalas dendam adalah skrip dijalankan bagi pihak setiap pengguna untuk memutuskan sama ada
untuk menerima mel masuk.
Apabila pelanggan cuba menghantar mel kepada pengguna pada sistem, daemon SMTP pembalas,
asmtpd, menjalankan avenger untuk memproses fail .pendendam/rcpt dalam direktori rumah pengguna. Itu
fail, skrip shell dengan akses kepada fungsi khas, menentukan cara pelayan SMTP
harus diteruskan. Hasil yang mungkin adalah:
· Terima mel sementara, kembali kepada peraturan lalai sistem
· Terima mel dengan segera tanpa semakan lanjut
· Tolak mel dengan serta-merta
· Menangguhkan mel, memberitahu pelanggan untuk menghantar semula kemudian
· Ubah hala pemprosesan ke nama tempatan yang lain. Nama itu boleh menjadi alamat e-mel yang lain
kepunyaan pengguna semasa, atau alamat e-mel milik istimewa
Pengguna Avenger pengguna. Dalam kes kemudian, avenger akan dijalankan semula dengan ID pengguna yang berbeza,
dan oleh itu boleh, sebagai contoh, menggunakan utiliti yang mengekalkan keadaan merentas berbilang pengguna
(dengan mengandaikan mereka semua mengubah hala pemprosesan dengan cara yang sama).
· Jalankan peraturan "ujian badan". Dengan hasil ini, transaksi SMTP diteruskan ke
menerima keseluruhan kandungan mesej mel, selepas itu program dijalankan pada
kandungan mesej mel. Program itu boleh memutuskan, berdasarkan kandungan, sama ada
untuk menerima, menolak, menangguhkan atau membuang mesej secara senyap.
Mail Avenger biasanya harus dikonfigurasikan untuk mempunyai a pemisah watak, membenarkan setiap
pengguna untuk mengekalkan berbilang alamat e-mel. Dengan sendmail, pemisah biasanya "+",
dengan qmail ia biasanya "-". Jika pemisah ialah "+", maka sebarang e-mel dihantar ke
pengguna+ext@tuan rumah anda akan diproses oleh fail dalam pengguna's .pendendam direktori.
Avenger mula-mula menyemak fail bernama rcpt+ext dalam pengguna .pendendam direktori, kemudian untuk
rcpt+default. Jika ext itu sendiri mengandungi watak pemisah, sebagai contoh
pengguna+ext1+ext2@tuan rumah anda, avenger akan semak dahulu untuk rcpt+ext1+ext2, kemudian untuk
rcpt+ext1+lalai, kemudian untuk rcpt+default. Algoritma yang sama dilanjutkan untuk sewenang-wenangnya
banyak watak pemisah. (Jika pemisah ialah "-", cuma gantikan "+" dengan "-" sepanjang
penerangan di atas, termasuk dalam nama fail seperti rcpt-default.)
Jika mel ditolak oleh penerima menyemak tetapi alamat pengirim mesej adalah setempat
and Mel Pengguna ialah 1 in asmtpd.conf (yang bukan lalai), kemudian sebelum menolak mel,
avenger akan dijalankan bagi pihak pengguna yang menghantar. Dalam kes ini, alamatnya ialah
dihuraikan seperti di atas, tetapi pembalas akan mencari peraturan dalam fail bermula mel bukan rcpt.
Mekanisme ini boleh digunakan oleh pengguna tempatan yang ingin menyampaikan mel melalui pelayan dari
alamat IP yang tidak dipercayai.
Menggunakan mel fail konfigurasi, setiap pengguna boleh, sebagai contoh, mengkonfigurasi a mel+... fail
untuk menerima mel daripada alamat IP yang dipercayainya, walaupun alamat itu tidak dipercayai olehnya
semua pengguna. (Sebagai alternatif, menggunakan alat seperti macutil, pengguna mungkin menyediakan penyampaian
mel di mana penghantar sampul surat mengandungi kod kriptografi, disemak oleh mel+...
skrip.)
Keluaran ralat skrip pembalas rcpt+ext or mel+samb dihalakan semula ke fail yang dipanggil
log+samb dalam direktori yang sama, untuk digunakan dalam penyahpepijatan.
AVENGER SISTEM
Fail konfigurasi Avenger hanyalah skrip shell, menggunakan sintaks yang diterangkan dalam sh(1).
Setiap baris fail mengandungi tugasan pembolehubah, arahan atau fungsi untuk dijalankan.
Skrip juga boleh menggunakan beberapa fungsi dan pembolehubah khusus pembalas.
Bahagian ini menerangkan fungsi pembalas. Dua bahagian seterusnya menerangkan pembolehubah.
errcheck
Keadaan ralat tertentu mengakibatkan Mail Avenger menolak mel secara lalai, melainkan jika
mesej diterima secara eksplisit melalui a menerima atau berjaya ujian badan semak. Ini
syarat ditunjukkan oleh MAIL_ERROR pembolehubah persekitaran yang diterangkan di bawah. Jika
skrip anda sama ada menolak mel atau mengikut kelakuan lalai, ada
selalunya tiada sebab untuk menjalankan ujian pada mesej yang akhirnya akan ditolak sama ada cara.
errcheck keluar serta-merta dengan ralat lalai jika lalai adalah untuk menolak atau
menangguhkan mel.
menerima [mesej]
Menerima mesej dengan serta-merta (tanpa kembali kepada mana-mana peraturan lalai). Jika
mesej dibekalkan, ia akan dikembalikan kepada klien SMTP. Mesej lalai ialah
"okey".
menolak [mesej]
Tolak mel, dengan mesej. (Mesej lalai ialah "perintah ditolak untuk dasar
sebab").
menunda [mesej]
Tolak mel dengan kod ralat sementara, supaya pelanggan mel yang sah akan melakukannya
cuba hantar semula kemudian. Lalai untuk mesej ialah "ralat sementara dalam
pemprosesan".
ujian badan arahan [berhujah ...]
Terima arahan "RCPT" SMTP semasa. Walau bagaimanapun, sebaik sahaja keseluruhan mesej mel telah
diterima dengan arahan "DATA" SMTP, jalankan arahan dengan mesej sebagai standardnya
input. Bergantung kepada status keluar dari arahan kembali ke arahan "DATA" klien
sama ada kejayaan, kegagalan sementara atau kekal. Keluar kod 0 bermakna terima mel,
100 bermaksud menolak, 111 bermaksud menolak dengan kod ralat sementara (iaitu, menangguhkan mel).
Lihat penerangan tentang ujian badan dalam perihalan antara muka asmtpd/avenger untuk lebih lanjut
maklumat mengenai ujian badan (memandangkan fungsi ini secara langsung memanggil ujian badan dalam asmtpd).
Keluaran ralat daripada arahan akan dialihkan ke fail log yang sama seperti output daripada
rcpt+... skrip pembalas yang menggunakan ujian badan fungsi. Keluaran standard daripada arahan
akan disertakan sebagai diagnostik mesej lantunan jika kod keluar menangguhkan atau menolak
surat.
Perhatikan bahawa arahan dan hujah diserahkan kepada ujian badan akan dijalankan oleh shell.
Oleh itu, adalah penting untuk tidak meluluskan sebarang hujah yang mungkin mengandungi shell
metakarakter seperti ">" dan "$".
mengarahkan tempatan
Selesaikan pemprosesan, dan jalankan semula pembalas seolah-olah mel dihantar kepada yang lain
nama pengguna tempatan (mungkin kepunyaan istimewa Pengguna Avenger pengguna). Lihat
Penerangan tentang mengarahkan dalam perihalan antara muka asmtpd/avenger untuk lebih lanjut
maklumat mengenai mengarahkan (memandangkan fungsi ini secara langsung memanggil mengarahkan dalam asmtpd).
senarai kelabu [kunci penghantar]
Perintah ini menangguhkan mel kali pertama mel diterima daripada pengirim tertentu pada a
alamat IP tertentu. Walau bagaimanapun, selepas selang waktu tertentu, greylist_delay, jika
pelanggan menghantar semula mel, ia akan diterima. Tambahan pula, mulai saat itu, semua
mel akan diterima serta-merta daripada pengirim dan alamat IP tersebut, melainkan pengirim
berhenti menghantar mel untuk tempoh greylist_ttl2 atau lebih. Jika, bagaimanapun, selepas menghantar
sekeping awal, mel tertunda, pelanggan tidak mencuba lagi dalam tempoh
greylist_ttl1, maka apa-apa rekod pelanggan akan dipadamkan, dan pada kali berikutnya ia
cuba menghantar mel ia akan ditangguhkan lagi.
Parameter boleh ditala dengan menetapkan pembolehubah dalam skrip. Nilai lalai
ialah:
greylist_delay=30m # Masa untuk menunggu sebelum membenarkan mesej
greylist_ttl1=5j # Berapa lama untuk mengingati pengirim kali pertama
greylist_ttl2=36D # Berapa lama untuk mengingati pengirim ok
m bermakna minit, h jam, dan D hari. Untuk senarai lengkap akhiran yang dibenarkan, lihat
dokumentasi untuk dbutil(1) (khususnya untuk --tamat tempoh pilihan).
kunci penghantar, jika dibekalkan, digunakan untuk mengenal pasti pengirim. Nilai lalai ialah
"$CLIENT_IP $RECIPIENT $SENDER". Jika, sebagai contoh, anda mahu merakam yang pertama sahaja
24-bit alamat IP dan tidak mengambil berat tentang penerima, anda boleh menggunakan arahan:
senarai kelabu "${CLIENT_IP%.*} $SENDER"
setvars
Semua fungsi yang menetapkan pembolehubah melalui pertanyaan luaran kepada asmtpd adalah
dilakukan secara tak segerak. setvars sebenarnya menunggu keputusan dan menetapkan nilai
pembolehubah tersebut. Dengan cara ini, beberapa permintaan yang berpotensi perlahan (seperti DNS
carian) boleh dimulakan secara serentak, dan kependamannya bertindih. Namun, satu
mesti ingat nak call setvars, atau pembolehubah lain yang sepatutnya mengandungi hasil daripada
operasi akan kekal tidak ditetapkan.
dns var jenis nama domain
Melakukan carian DNS bagi nama domain untuk rekod jenis jenis, dan memberikan hasilnya
kepada pemboleh ubah var semasa anda memanggil setvars. jenis mesti salah satu a, mx, ptr, Atau txt (rendah-
kes sahaja).
rbl [-ipf] var domain
Mencari penghantar mel semasa dalam senarai lubang hitam (RBL) masa nyata. domain adalah
nama domain RBL (cth, "bl.spamcop.net"). Jika pengirim tersenarai, tetapkan var kepada
hasil carian DNS apabila anda memanggil seterusnya setvars. -i mencari IP pengirim
alamat (lalai jika tiada pilihan dinyatakan). -p mencari domain pengirim
nama (rekod PTR DNS yang disahkan). -f mencari nama domain penghantar sampul surat dalam
RBL.
spf0 var [mekanisme spf ...]
SPF var [mekanisme spf ...]
Menguji pengirim terhadap pertanyaan sewenang-wenang yang dirumuskan dalam bahasa SPF. Ini adalah satu
cara yang berkesan untuk menyenarai putih atau menyenaraihitamkan penghantar tertentu. Sebagai contoh, andaikan anda
mahu menerima sebarang mel daripada mesin dalam senarai yang diselenggara oleh trusted-forwarder.org,
terima mel daripada mana-mana nama mesin yang berakhir dengan "yahoo.com" menolak sebarang mel daripada pengguna dalam
spamcop RBL, dan untuk pengguna lain kembali kepada peraturan lalai seluruh sistem. awak
mungkin menggunakan yang berikut rcpt fail:
spf MYSPF +include:spf.trusted-forwarder.org \
+ptr:yahoo.com -wujud:%{ir}.bl.spamcop.net ?semua
setvars
kes "$MYSPF" dalam
lulus)
terima "saya suka awak"
;;
gagal)
tolak "saya tak suka awak"
;;
ralat)
# Perhatikan, sebaliknya boleh jatuh ke lalai di sini
menangguhkan "Ralat DNS sementara"
;;
bahawa C
Perhatikan bahawa arahan spf0 and SPF adalah sinonim, tetapi SPF tidak digunakan lagi, kerana dalam a
kemudian keluaran Mail Avenger SPF akan menjadi sinonim dengan spf1.
spf1 var [mekanisme spf ...]
Melakukan ujian yang sama seperti SPF arahan, tetapi mengembalikan rentetan hasil Tiada,
Neutral, Pas, Gagal, SoftFail, TempError, dan PermError bukan tiada, neutral,
lulus, gagal, softfail, kesilapan, dan tidak diketahui.
AVENGER PELBAGAI
Pembolehubah ini ditetapkan oleh skrip pembalas. Di samping itu, asmtpd menetapkan beberapa
pembolehubah persekitaran sebelum menjalankan avenger. Ini didokumenkan dalam bahagian seterusnya,
PERSEKITARAN.
FILEKS
Sambungan pada fail yang sedang diproses. Sebagai contoh, jika fail rcpt+ext is
sedang diproses, akan ditetapkan kepada "+ext". Kosong apabila memproses sahaja rcpt (Atau mel).
Mungkin juga mengandungi lalai apabila fail peraturan lalai untuk beberapa akhiran sedang dijalankan.
PERMULAAN
SUFIKS
Dengan mengandaikan pemisah ialah "+", apabila memproses fail rcpt+base+default or
mel+asas+lalai, PERMULAAN ditetapkan untuk asas, Manakala SUFIKS ditetapkan pada bahagian
nama yang lalai telah diganti. Apabila fail tidak berakhir dengan lalai,
SUFIKS kosong. Apabila fail itu hanya rcpt tanpa sambungan, kedua-duanya PERMULAAN and SUFIKS
kosong. Bila SUFIKS itu sendiri mengandungi aksara "+", SUFIKS1 mengandungi ke bahagian
of SUFIKS selepas aksara "+" pertama, SUFIKS2 mengandungi bahagian selepas yang kedua
"+", dan seterusnya untuk setiap aksara "+" dalam akhiran.
PERSEKITARAN
AUTH_USER
Jika Mail Avenger telah disusun dengan sokongan SASL (yang bukan lalai, melainkan anda
dibekalkan --dayakan-sasl hujah untuk "mengkonfigurasi"), dan jika pelanggan berjaya
mengesahkan ke pelayan menggunakan SASL, kemudian AUTH_USER akan ditetapkan kepada nama
pengguna yang disahkan.
AVENGER_MODE
Tetapkan kepada "rcpt" apabila menguji sama ada penerima harus menerima mel. Tetapkan kepada "mel"
(mungkin selepas semakan "rcpt" gagal) apabila menyemak sama ada untuk menyampaikan mel (mungkin
bagi pihak pengguna tempatan).
AVUSER
Nama pengguna tempatan yang berkesan yang mana avenger sedang dijalankan. Biasanya, ini akan menjadi
sama seperti:
$USER${PREFIX+$SEPARATOR}$PREFIX\
${SUFFIX+$SEPARATOR}$SUFFIX
Walau bagaimanapun, untuk fail avenger khas seperti tidak diketahui and lalai, ia boleh mengandungi berguna
maklumat, kerana tidak seperti RECIPIENT_LOCAL pembolehubah persekitaran, AVUSER mencerminkan
penggantian daripada Mail Avenger domain and alias fail.
CLIENT
Pembolehubah ini mengandungi nama mesin pelanggan, seperti yang biasanya dilaporkan dalam
Pengepala "Diterima:". Nilainya mempunyai bentuk:
[pengguna@]tuan rumah
pengguna ialah nama pengguna untuk sambungan yang dilaporkan oleh klien, jika klien
menyokong protokol pengenalan RFC 1413, jika tidak, ia ditinggalkan. tuan rumah ialah
nama hos DNS yang disahkan untuk IP, jika asmtpd boleh menemuinya. Jika tidak, ia adalah mudah
alamat IP berangka.
CLIENT_COLONSPACE
Tetapkan kepada 1 jika pelanggan memasukkan ruang antara kolon dalam arahan "MAIL FROM:"
atau "RCPT TO:" dan "<" seterusnya yang memulakan alamat e-mel.
CLIENT_DNSFAIL
If Benarkan DNSFail ditetapkan kepada 1 dalam asmtpd.conf fail dan menyelesaikan IP pelanggan kepada a
nama hos mengembalikan ralat sementara, maka pembolehubah ini akan ditetapkan kepada perihalan
kesalahan.
CLIENT_HELO
Tetapkan kepada hujah yang dibekalkan oleh klien kepada arahan "HELO" atau "EHLO" SMTP.
CLIENT_IP
Tetapkan kepada alamat IP klien.
NAMA PELANGGAN
Tetapkan kepada nama DNS yang disahkan pelanggan, jika asmtpd boleh menemuinya.
CLIENT_NETHOPS
Tetapkan kepada bilangan lompat rangkaian antara pelayan dan pelanggan, jika asmtpd boleh dapatkan
pelanggan atau tembok apinya untuk mengembalikan destinasi ICMP yang tidak dapat dicapai (paket jenis 3)
sebagai tindak balas kepada siasatan UDP. Sama ada ini ditetapkan atau tidak bergantung pada tembok api
konfigurasi.
CLIENT_NETPATH
Tetapkan kepada seberapa banyak hop rangkaian perantara yang boleh ditentukan oleh asmtpd antara pelayan
dan pelanggan. Seberapa dekat dengan pelanggan asmtpd boleh kuar akan bergantung pada firewall.
CLIENT_PIPELINING
Tetapkan kepada 1 jika pelanggan menulis data selepas SMTP HELO or EHLO perintah, sebelum
menerima responsnya. Pelanggan SMTP yang betul tidak seharusnya memerintahkan "talian paip" sehingga
selepas menerima keputusan HELO arahan dan mengesahkan bahawa pelayan menerima
arahan saluran paip.
CLIENT_PORT
Nombor port TCP pelanggan.
CLIENT_POST
Tetapkan kepada 1 jika pelanggan menghantar arahan "POST" pada satu ketika semasa sesi SMTP.
"POST" bukan arahan SMTP yang sah; ia adalah arahan HTTP. Namun, satu teknik untuk
menghantar spam melibatkan mengeksploitasi proksi web terbuka untuk "menyiarkan" sesi SMTP ke mel
pelayan. Pengepala HTTP awal (termasuk arahan pos HTTP) hanya menyebabkan SMTP
ralat sintaks, manakala badan perintah POST mengandungi arahan SMTP. Dengan menyemak
yang CLIENT_POST pembolehubah persekitaran, anda menolak mel yang dihantar dengan cara ini.
CLIENT_REVIP
Nilai CLIENT_IP dengan susunan bait diterbalikkan. Sesuai untuk prepending
kepada ".in-addr.arpa" atau domain RBL untuk melakukan carian DNS berdasarkan alamat IP.
CLIENT_SYNFP
Mengandungi cap jari, mengabstrakkan kandungan paket TCP SYN awal
pelanggan dihantar untuk mewujudkan sambungan TCP. Kandungan tepat paket SYN
bergantung pada sistem pengendalian dan versi klien, dan oleh itu boleh mendedahkan
maklumat menarik tentang jenis klien yang menyambung ke pelayan mel anda. The
format cap jari ialah:
wwww:Ttt:D:ss:OOO
Di mana medan adalah seperti berikut:
wwww
saiz tetingkap TCP awal
Ttt IP ttl bagi paket yang diterima
D bit "jangan pecahkan" IP
ss jumlah saiz paket SYN (termasuk pengepala IP)
OOO senarai pilihan TCP yang dipisahkan koma, seperti berikut:
N Pilihan NOP
Wnnn
pilihan penskalaan tetingkap dengan nilai nnn
Mnnn
nilai saiz segmen maksimum nnn
S Selective ACK OK
T pilihan cap masa
T0 pilihan cap masa dengan nilai sifar
CLIENT_SYNOS
Jika asmtpd boleh meneka sistem pengendalian klien berdasarkan CLIENT_SYNFP, ia akan ditetapkan
CLIENT_SYNOS kepada nilai tekaan itu. Contohnya, untuk menyenaraikan kelabu mel daripada Windows
mesin, anda boleh menjalankan:
padankan -q "*Windows*" "$CLIENT_SYNOS" && senarai kelabu
DATA_BYTES
Pembolehubah ini sebenarnya bukan pembolehubah pembalas, kerana ia hanya tersedia dalam ujian badan
arahan. Ia menentukan bilangan bait mesej yang dipindahkan dalam DATA SMTP
arahan, tetapi selepas menukar jujukan CR NL kepada NL. Secara kasarnya begini caranya
banyak bait berada dalam mesej termasuk semua pengepala selepas X-Avenger:, SPF-
Diterima, atau Diterima: pengepala.
ETCDIR
Nilai EtcDir daripada fail konfigurasi asmtpd (atau /etc/avenger secara lalai).
EXT Apabila pembalas berjalan bagi pihak pengguna EXT ditetapkan pada bahagian alamat yang
menentukan akhiran bagi rcpt or mel fail. Sebagai contoh, andaikan pemisah ialah "-"
dan penerima adalah senarai-langgan@tuan rumah, Di mana tuan rumah bukan domain maya. Sekiranya
AliasFile mengandungi:
senarai: pengguna-mylist
Kemudian pembalas akan dijalankan bagi pihak "pengguna" (kerana pengembangan alias menghasilkan pengguna-
mylist-langgan). EXT akan ditetapkan ke mylist-langgan.
Perhatikan bahawa EXT kosong apabila tiada akhiran, dan ia sama dengan nama
fail sistem sedang diproses apabila avenger dijalankan pada fail sistem. Suka PENERIMA,
pembolehubah ini tidak ditetapkan untuk ujian badan menyuruh.
HOST
Tetapkan kepada nama hos tempatan, seperti yang ditentukan oleh Nama Hos arahan dalam
avenger.conf.
MAIL_ERROR
Pembolehubah ini ditetapkan apabila pelupusan SPF pengirim adalah gagal, atau apabila asmtpd adalah
tidak dapat menghantar mesej lantunan ke alamat penghantar. Dalam kedua-dua kes, Mail Avenger
akan menolak mel jika skrip jatuh ke dalam lalai.
MSGID
Rentetan yang dijana secara rawak untuk mesej ini, yang boleh berguna untuk mengaitkan panggilan
kepada skrip rcpt dengan skrip bodytest. Harap maklum bahawa ini tidak berkaitan dengan Message-ID
pengepala dalam mesej, tetapi muncul dalam pengepala Diterima bahawa Mail Avenger
sisipan.
MYIP
Alamat IP hujung tempatan sambungan TCP SMTP.
MYPORT
Nombor port TCP hujung tempatan sambungan TCP SMTP. Biasanya ini akan menjadi 25.
PENERIMA
Penerima sampul surat. Ambil perhatian bahawa pembolehubah persekitaran ini tidak
hadir untuk ujian badan program, kerana program sedemikian boleh dijalankan bagi pihak berbilang
pengguna.
RECIPIENT_HOST
Bahagian domain daripada PENERIMA, dilipat ke huruf kecil--iaitu, tuan rumah apabila PENERIMA is
tempatan@tuan rumah. Tidak hadir untuk ujian badan program, seperti yang dinyatakan dalam huraian tentang
PENERIMA.
RECIPIENT_LOCAL
Bahagian tempatan daripada PENERIMA, dilipat ke huruf kecil--iaitu, tempatan apabila PENERIMA is
tempatan@tuan rumah. Tidak hadir untuk ujian badan program, seperti yang dinyatakan dalam huraian tentang
PENERIMA.
PENGHANTAR
Pengirim envolope mesej mel ini (iaitu, hujah yang dibekalkan oleh klien kepada
arahan SMTP "MAIL FROM:".)
SENDER_HOST
Bahagian nama hos daripada PENGHANTAR, ditukar kepada huruf kecil (iaitu, tuan rumah in pengguna@tuan rumah).
SENDER_LOCAL
Bahagian tempatan daripada PENGHANTAR, ditukar kepada huruf kecil (iaitu, pengguna in pengguna@tuan rumah).
SENDER_MXES
Senarai rekod DNS MX untuk SENDER_HOST, jika nama hos itu mempunyai sebarang rekod MX.
SENDER_BOUNCERES
Untuk penghantar sampul yang tidak kosong, asmtpd cuba untuk melihat sama ada ia boleh dihantar
melantun mesej untuk pengirim. Jika tidak, SENDER_BOUNCERES ditetapkan kepada SMTP tiga digit
kod salah. Jika digit pertama ialah 4, ralat itu adalah sementara. Jika digit pertama ialah
5, ralat itu kekal. Ambil perhatian bahawa kegagalan untuk menerima mesej lantunan dipertimbangkan
a MAIL_ERROR seperti yang diterangkan di atas, dan akan menyebabkan mel ditolak secara lalai.
PEMISAH
Nilai pemisah daripada fail konfigurasi asmtpd. Tiada lalai
(PEMISAH tidak akan ditetapkan jika tidak pemisah dinyatakan dalam fail konfigurasi).
Walau bagaimanapun, ia harus dikonfigurasikan untuk "+" dengan sendmail dan "-" dengan qmail.
SPF0
SPF Hasil daripada melakukan semakan SPF pada mesej. Akan menjadi salah satu daripada: tiada, neutral,
lulus, gagal, softfail, kesilapan, Atau tidak diketahui. Perhatikan bahawa SPF0 and SPF adalah sinonim, tetapi
SPF ditamatkan kerana keluaran masa depan Mail Avenger akan dibuat SPF sinonim dengan
SPF1.
SPF1
Juga hasil daripada melakukan semakan SPF pada mesej, tetapi mengembalikan nama yang berbeza
untuk hasilnya, agar serasi dengan semakan baharu protokol SPF
spesifikasi. Nama-nama baru ialah Tiada, Neutral, Pas, Gagal, SoftFail, TempError, dan
PermError.
SPF_EXPL
Rentetan penjelasan yang sesuai dengan status SPF yang buruk.
SSL_CIPHER
Jika Mail Avenger telah disusun dengan sokongan untuk arahan STARTTLS (menggunakan
--dayakan-ssl pilihan untuk "mengkonfigurasi"), dan pelanggan sedang berkomunikasi melalui SSL/TLS,
pembolehubah ini akan mengandungi penerangan teks bagi algoritma.
SSL_CIPHER_BITS
SSL_ALG_BITS
SSL_CIPHER_BITS mengandungi bilangan bit kunci rahsia yang digunakan oleh sifir SSL/TLS.
SSL_ALG_BITS ialah bilangan bit yang digunakan oleh algoritma. Sebagai contoh, jika anda
menggunakan RC128 4-bit dengan 88 bit dihantar dalam teks jelas, SSL_CIPHER_BITS hanya akan 40,
kerana itu adalah keselamatan yang berkesan, manakala SSL_ALG_BITS akan menjadi 128.
SSL_ISSUER
SSL_ISSUER_DN
Jika pelanggan telah berjaya mengesahkan dirinya menggunakan sijil SSL,
SSL_ISSUER akan ditetapkan kepada nama biasa penandatangan sijil, manakala SSL_ISSUER_DN
akan ditetapkan kepada perwakilan padat nama penuh penandatangan. The
nama terkenal penuh adalah dalam bentuk output dengan arahan:
openssl x509 -noout -pengeluar -dalam cert.pem
Ambil perhatian bahawa pembolehubah ini kebanyakannya berguna jika SSLCAcert fail yang telah anda berikan kepada Mail
Avenger mengandungi lebih daripada satu pihak berkuasa sijil, atau menandatangani sijil CA lain.
Mail Avenger tidak akan menerima sijil pelanggan jika ia tidak mengenali penandatangan
daripada sijil tersebut.
SSL_SUBJECT
SSL_SUBJECT_DN
Jika pelanggan telah berjaya mengesahkan dirinya menggunakan sijil SSL,
SSL_SUBJECT akan ditetapkan kepada nama biasa pelanggan dalam sijil, manakala
SSL_SUBJECT_DN akan ditetapkan kepada perwakilan padat penuh pelanggan
nama terbilang. Nama terkenal penuh adalah dalam bentuk output dengan arahan:
openssl x509 -noout -subjek -dalam cert.pem
SSL_VERSION
Versi protokol SSL/TLS yang sedang digunakan.
UFLINE
Baris mbox "Daripada " sesuai untuk menambah mesej sebelum menghantar mesej
kepada program penyampaian. (Ini kebanyakannya berguna untuk peraturan ujian badan.)
PENGGUNA
Nama pengguna di mana avenger sedang berjalan.
AVENGER/ASMTPD INTERFACE
avenger hanyalah skrip shell mudah. Anda boleh memeriksa fail untuk melihat apa yang dilakukannya.
Kebanyakan operasi menarik berlaku sama ada dalam asmtpd, atau dalam program luaran
lahir daripada pembalas. Bahagian ini mendokumenkan antara muka antara asmtpd dan avenger.
avenger mewarisi soket domain unix yang disambungkan ke asmtpd pada input standardnya dan
pengeluaran. Ia menghantar arahan kepada asmtpd melalui soket ini, dan juga membaca balasan daripada
ia. Untuk mengelakkan mencampurkan mesej ke dan dari asmtpd dengan output lain
program yang anda jalankan, bagaimanapun, skrip shell avenger menyusun semula deskriptor failnya
bahawa semua komunikasi ke dan dari asmtpd berlaku melalui deskriptor fail nombor 3.
Setiap arahan terdiri daripada satu baris, diikuti dengan baris baharu (kecuali pulangan perintah,
yang boleh mengambil beberapa baris secara pilihan). Mungkin ada atau mungkin tiada balasan, mungkin
bergantung kepada hasil arahan. Kebanyakan balasan terdiri daripada sifar atau lebih baris
borang
BERBAGAI=nilai
BERBAGAI lazimnya ialah nama pembolehubah yang dibekalkan sebagai sebahagian daripada arahan. The
skrip shell avenger merekodkan hasil dengan menetapkan pembolehubah persekitaran BERBAGAI kepada
nilai, supaya ia boleh diakses oleh baris skrip berikutnya.
Balasan dihantar mengikut susunan arahan yang sepadan diterima. Walau bagaimanapun,
asmtpd melaksanakan permintaan secara tidak segerak. Oleh itu, seseorang boleh melakukan beberapa serentak
operasi (seperti permintaan DNS atau ujian SPF) dengan hanya menulis berbilang arahan kepada
asmtpd sebelum menerima sebarang jawapan.
"." arahan ialah no-op, tetapi asmtpd menggemakan "." kembali kepada pembalas sebagai balasan. ini
membenarkan seseorang untuk menyegerakkan keadaan proses pembalas selepas mengeluarkan satu atau lebih arahan.
Sebagai contoh, seseorang mungkin mengeluarkan beberapa carian DNS untuk menyemak pelbagai RBL (masa nyata
senarai lubang hitam), kemudian keluarkan a . perintah, kemudian tunggu balasan. Apabila . kembali,
semua arahan sebelumnya juga akan selesai. Penuntut bela setvars arahan hanya menghantar
a ".", kemudian gelung sehingga ia membaca kembali ".", menetapkan pembolehubah daripada mana-mana sebelumnya
arahan yang balasannya dibaca dalam proses.
Perintah berikut tersedia:
. . . arahan hanya bergema kembali oleh asmtpd.
ujian badan arahan
Menamatkan skrip pembalas semasa. Menentukan bahawa asmtpd harus menerima seluruh badan
daripada mesej itu, kemudian jalankan arahan (di bawah ID pengguna yang sama seperti avenger semasa
skrip) dengan keseluruhan mesej mel sebagai input standardnya. asmtpd kemudian membalas
arahan "DATA" SMTP berdasarkan status keluar daripada arahan seperti berikut:
0 Sekiranya arahan keluar dengan status 0, asmtpd akan membalas arahan "DATA" dengan
kejayaan (kod SMTP 250), dan akan menghantar mesej kepada sendmail (atau apa sahaja yang anda
telah dikonfigurasikan sebagai Hantar surat in asmtpd.conf) untuk penghantaran.
99 Sekiranya arahan keluar dengan status 99, asmtpd masih akan membalas arahan "DATA".
dengan 250 kod balasan yang berjaya, tetapi tidak akan mengumpul data. sama ada arahan
mesti telah melakukan sesuatu dengan data, atau mesej akan hilang.
100 (juga 64, 65, 70, 76, 77, 78, 112)
If arahan keluar dengan status 100 (atau mana-mana status keluar di atas), pembalas akan
menolak mel dengan ralat SMTP keras (kod 554). Jika arahan menulis output kepadanya
output standard, output ini akan dihantar semula kepada klien mel. Jika tidak,
asmtpd akan membekalkan teks "kandungan mesej ditolak."
111 (atau mana-mana status keluar lain)
If arahan keluar dengan status 111, hasilnya sama dengan status keluar 100,
kecuali asmtpd akan menggunakan kod ralat sementara (451) dan bukannya 554.
isyarat
If arahan keluar secara tidak normal kerana isyarat, asmtpd juga akan menggunakan 451, tetapi dalam
kes ini tidak akan menghantar output program kembali kepada klien. Ia sebaliknya
menyampaikan kembali huraian masalah.
Ambil perhatian bahawa asmtpd hanya boleh menjalankan satu ujian badan arahan setiap mesej. Jika terdapat berbilang
penerima mesej, semua mesti berjalan sama ujian badan di bawah ID pengguna yang sama. Jika
dua pengguna ingin menjalankan berbeza ujian badan arahan, atau jalankan arahan yang sama di bawah
ID pengguna yang berbeza, asmtpd akan menangguhkan perintah "RCPT" SMTP kedua dengan mesej:
452 menghantar salinan mesej yang berasingan kepada pengguna ini
Ini akan menyebabkan klien mel menghantar semula mesej kemudian kepada pengguna kedua. Kepada
elakkan memaksa pelanggan menghantar berbilang salinan mesej, anda boleh letak ujian badan
arahan dalam fail seluruh sistem (seperti lalai fail peraturan), atau gunakan a mengarahkan
arahan untuk mengubah hala ke Pengguna Avenger, supaya arahan untuk berbilang pengguna boleh dijalankan
di bawah Pengguna Avenger ID Pengguna.
Ambil perhatian bahawa deskriptor fail 0 diwarisi oleh arahan dibuka untuk kedua-dua bacaan dan
menulis. Oleh itu, adalah mungkin untuk mengubah suai mesej sebelum ia digabungkan oleh tempatan
MTA. Perintah itu edinplace(1) berguna untuk menjalankan mesej melalui penapis spam
yang menganotasi mesej sebelum menghimpunkannya.
dns-a BERBAGAI nama domain
Permintaan yang asmtpd melakukan carian DNS untuk rekod A (alamat IPv4). nama domain.
Jika rekod A sedemikian wujud, balasannya ialah senarai satu atau lebih alamat IP:
BERBAGAI=Alamat IP ...
Jika tiada rekod A sedemikian wujud, jawapannya ialah:
BERBAGAI=
Dengan skrip avenger standard, ini ditetapkan BERBAGAI kepada rentetan kosong. Jika ada
ralat sementara dalam resolusi nama DNS, tiada balasan, dan oleh itu dengan
skrip pembalas lalai BERBAGAI akan kekal tidak ditetapkan.
Apabila menyemak perkara seperti RBL, adalah dinasihatkan untuk tidak menolak mel kerana a
ralat DNS sementara. Anda boleh menggunakan binaan shell ${BERBAGAI-lalai}$ untuk kembali
$BERBAGAI apabila BERBAGAI ditetapkan, dan lalai apabila BERBAGAI tidak ditetapkan. Begitu juga
${BERBAGAI+menetapkan} kembali menetapkan if BERBAGAI ditetapkan, dan rentetan kosong sebaliknya.
Contohnya, jika bad-senders.org mengandungi RBL hos penghantar yang tidak diingini:
echo dns-a BADSENDER "$SENDER_HOST".bad-senders.org >&3
setvars
ujian -n "$BADSENDER" && tolak "$SENDER_HOST ialah penghantar yang buruk"
test -z "${BADSENDER+set}" \
&& tangguhkan "$SENDER_HOST.bad-senders.org: ralat DNS"
Ambil perhatian bahawa apabila menggunakan skrip avenger, sudah ada fungsi rbl untuk memeriksa
RBL.
dns-mx BERBAGAI nama domain
Sama seperti dns-a, tetapi mencari rekod MX. Jawapan yang berjaya adalah dalam bentuk:
BERBAGAI=keutamaan-1:tuan rumah-1 [keutamaan-2:tuan rumah-2 ...]
Lokasi keutamaan-1 ialah keutamaan MX bagi tuan rumah-1. Seperti sebelum ini, rentetan kosong menunjukkan
tiada rekod MX wujud dan tiada balasan menunjukkan ralat.
dns-ptr BERBAGAI Alamat IP
Mengembalikan senarai nama hos DNS yang disahkan untuk Alamat IP. Seperti sebelum ini, rentetan kosong
khususnya BERBAGAI menunjukkan tiada rekod PTR wujud, dan tiada balasan menunjukkan ralat.
dns-txt BERBAGAI nama domain
Sama dengan yang lain dns arahan, tetapi mencari rekod jenis TXT. Jika berbilang TXT
rekod wujud, hanya mengembalikan satu. Meletakkan beberapa sekatan pada rekod TXT, untuk
contoh tidak akan mengembalikan satu yang mengandungi aksara baris baharu.
netpath BERBAGAI Alamat IP
Petakan rangkaian lompat ke Alamat IP (ini serupa dengan sistem traceroute
utiliti, tetapi lebih cekap). Jawapannya adalah dalam bentuk:
BERBAGAI=#hops lompat1 lompat2 ...
#hops ialah jumlah bilangan lompatan rangkaian ke Alamat IP jika asmtpd boleh memikirkan perkara ini.
(Ia tidak akan sentiasa dapat jika Alamat IP berada di belakang tembok api.) Jika asmtpd tidak boleh
fikirkan ini, nilainya ialah -1. lompat1 dan hujah yang selebihnya adalah alamat
penghala di sepanjang jalan ke Alamat IP.
mengarahkan tempatan
Menamatkan proses pembalas semasa, dan sebaliknya memproses mel seolah-olah ada
sedang dihantar ke tempatan. Perintah ini hanya tersedia dalam mod "rcpt", berbanding dengan
mod "mel" (di mana asmtpd menjalankan avenger untuk melihat sama ada ia harus menyampaikan mel untuk tempatan
pengguna pada mesin pelanggan bukan tempatan).
tempatan boleh menjadi nama pengguna tempatan, atau nama pengguna tempatan diikuti oleh pemisah
watak dan lanjutan. Nama dipetakan menggunakan alias (dinyatakan oleh
AliasFile in asmtpd.conf).
Perhatikan bahawa walaupun Pengguna Avenger pengguna boleh mengubah hala kepada pengguna lain, pengguna biasa boleh
hanya ubah hala kepada diri mereka sendiri atau Pengguna Avenger.
pulangan kod penerangan
or
pulangan kod-penerangan
kod-penerangan
kod penerangan
Menentukan tindak balas SMTP yang diingini. Juga mengelakkan pemprosesan selanjutnya mesej
dengan set peraturan lalai seluruh sistem (seperti yang biasa berlaku apabila avenger hanya keluar dengan
status 0). kod mestilah nombor tiga digit bermula 2, 4 atau 5. (biasanya 250 untuk
kejayaan, 451 untuk menangguhkan mel, dan 554 untuk menolak mel).
Bentuk pertama arahan ini (dengan ruang antara kod and penerangan) memberikan a
penjelasan satu baris bersama dengan kod hasil. Dalam bentuk kedua, pembalas
menentukan tindak balas berbilang baris. Dalam kes ini semua kecuali baris terakhir mesti mengandungi a -
antara kod and penerangan, manakala baris terakhir mesti mengandungi ruang. (Nota
bahawa pulangan kata kunci hanya muncul pada baris pertama; selepas mula mengeluarkan a
pulangan arahan, tiada arahan lanjut boleh dikeluarkan.)
SPF BERBAGAI SPF-mekanisme ...
spf0 BERBAGAI SPF-mekanisme ...
spf1 BERBAGAI SPF-mekanisme ...
Menilai klien mel berdasarkan mekanisme SPF. Ia akan kembali:
BERBAGAI=pelupusan
di mana, untuk spf0, pelupusan adalah salah satu daripada: tiada, neutral, lulus, gagal, softfail, kesilapan,
or tidak diketahui (walaupun pelupusan tiada sebenarnya mustahil). Untuk spf1, yang
bersamaan pelupusan nama adalah Tiada, Neutral, Pas, Gagal, SoftFail, TempError,
PermError. (Pada masa ini SPF adalah sinonim untuk spf0, tetapi anda disyorkan untuk mengelak
menggunakan SPF seperti dalam keluaran akan datang ia mungkin menjadi alias untuk spf1.)
Sebagai contoh, katakan nama pengguna anda ialah "joe", pemisah ialah "+", dan anda mempunyai
melanggan beberapa senarai mel yahoo menggunakan alamat e-mel "joe+yahoo". Jika
spammer mula menghantar mel ke "joe+yahoo", anda pasti mahu menolak semua mel ke
alamat itu kecuali yang berasal dari komputer yahoo. Komputer Yahoo mungkin
sepadan dengan apa-apa sahaja yang berakhir dengan ".yahoo.com" atau berkongsi awalan alamat IP 24-bit dengan
mana-mana rekod MX yahoo.com. Ini boleh dicapai dengan skrip berikut dalam
$HOME/.avenger/rcpt+yahoo:
echo spf YAHOO ptr:yahoo.com mx:yahoo.com/24 -semua >&3
setvars
kes "$YAHOO" dalam
gagal)
tolak "Maaf, alias peribadi ini untuk senarai Yahoo sahaja"
;;
ralat)
menangguhkan "Maaf, ralat DNS sementara"
;;
bahawa C
CONTOH
Jika anda tidak pernah menggunakan alamat e-mel anda sebagai penghantar sampul surat, anda boleh menolak semua lantunan
alamat itu dengan arahan ini dalam anda rcpt fail:
test -z "$SENDER" \
&& tolak "<$RECIPIENT> bukan pengirim yang sah;" \
"tidak sepatutnya menerima lantunan"
Skrip berikut menjalankan spamassassin (penapis spam yang popular, tersedia daripada
<http://www.spamassassin.org/>) pada badan mesej, melainkan pengirim mesej
mempunyai pelupusan pas SPF atau sudah akan ditolak secara lalai.
# Baris seterusnya serta-merta jatuh kepada penolakan lalai
# pelupusan apabila mel mempunyai pelupusan SPF gagal atau yang
# pengirim tidak menerima mesej lantunan.
errcheck
ujian "$SPF" = lulus \
|| bodytest edinplace -x 111 spammassasin -e 100
Skrip berikut segera menerima sebarang mel daripada mana-mana mesin di MIT atau NYU (dengan syarat
MAIL_ERROR tidak ditetapkan), mesin "senarai kelabu" tidak dalam salah satu domain tersebut dan jika
senarai kelabu lulus, jatuh kepada peraturan lalai seluruh sistem:
errcheck
spf DIPERCAYAI ptr:nyu.edu ptr:mit.edu ?semua
setvars
lulus ujian = "$TRUSTED" && terima Pengirim yang dipercayai OK
greylist_delay=5m
senarai kelabu
Skrip berikut menolak mel daripada pelanggan yang telah mengeluarkan arahan "POST" SMTP
(yang tidak wujud) atau menggunakan saluran paip pramatang yang agresif. Jika pelanggan
letakkan ruang selepas titik bertindih dalam arahan MAIL FROM: atau RCPT TO: SMTP, ia menyenaraikan kelabu
mesej menggunakan kunci yang termasuk cap jari SYN dan 24-bit pertama alamat IP.
Jika pelupusan SPF mesej adalah ralat, ia menangguhkan mesej itu. Jika SPF
pelupusan mesej adalah softfail atau tiada, ia menjalankan badan mesej melalui
pembunuh spam.
errcheck
ujian -n "$CLIENT_POST" -o -n "$CLIENT_PIPELINING" \
&& tolak "tolong jangan spam"
ujian -n "$CLIENT_COLONSPACE" \
&& senarai kelabu "${CLIENT_IP%.*} $CLIENT_SYNFP $SENDER"
kes "$SPF" dalam
ralat)
menangguhkan "Ralat sementara dalam pemprosesan rekod SPF"
;;
softfail|tiada)
bodytest edinplace -x 111 spammassasin -e 100
;;
bahawa C
Jika anda menetapkan anda MACUTIL_SENDER pembolehubah persekitaran menjadi "pengguna+lantun+*@host.com"
dan hantar mel dengan macutil --hantar surat, anda boleh membuat yang berikut rcpt+lantun+lalai kepada
terima mel hanya ke alamat lantunan yang sah.
macutil --tandakan "$SUFFIX" > /dev/null \
|| tolak "<$RECIPIENT>.. pengguna tidak diketahui"
Bersempena dengan skrip ini, anda mungkin mahu menolak mesej lantunan kepada tetap anda
alamat e-mel dengan anda rcpt skrip, seperti yang diterangkan dalam contoh pertama.
Contoh ini lebih rumit sedikit dan menunjukkan cara menggunakan ujian badan untuk menolak mel
berdasarkan kandungan mesej. Matlamat persediaan ini adalah untuk menyemak setiap mesej dengan
Perisian anti-virus ClamAV (daripadahttp://www.clamav.net/>) dan mel pembunuh spam
penapis. Jika mesej mengandungi virus atau dibenderakan sebagai spam, ia harus ditolak dengan
penjelasan tentang masalah tersebut. Kami membina skrip shell, $HOME/.avenger/body, untuk menjalankan
ujian ini pada badan mesej. Skrip boleh digunakan dengan baris
ujian badan $HOME/.avenger/body
dalam anda $HOME/.avenger/rcpt fail. Atau, sebagai alternatif skrip boleh dikonfigurasikan untuk dijalankan
dalam keseluruhan sistem /etc/avenger/default fail (dalam hal ini anda ingin memastikan bahawa fail
Pengguna Avenger boleh menulis direktori rumahnya sendiri, untuk menyimpan fail spammasssin). The
skrip adalah seperti berikut:
#!/ Bin / sh
out="`clamscan -i --no-summary --mbox - 2>&1`"
jika ujian "$?" = 1; kemudian
echo Mesej ini nampaknya dijangkiti virus
printf "%s\n" "$out" \
| sed -e '/Amaran:/d' -e 's/^[^:]*: //' | jenis -u
jalan keluar 100
fi
out="`edinplace -x 111 spammassassin -e 100`"
kes "$?" dalam
0)
jalan keluar 0
;;
100)
echo Maaf, pembunuh spam telah membenderakan mesej anda sebagai spam
sambil baca abc; buat
ujian "$a $b" = "Analisis kandungan" && rehat
dilakukan
baca a
baca a
baca a
sambil baca abc; buat
kes "$a" dalam
"")
memecahkan
;;
-*)
;;
[0-9]*)
printf " %s\n" "$c"
;;
*)
printf " %s\n" "$a $b $c"
;;
bahawa C
dilakukan
jalan keluar 100
;;
*)
jika ujian -n "$out"; kemudian
kegagalan pembunuh spam gema:
printf "%s\n" "$out"
lagi
ralat sistem gema dalam spammassassin
fi
jalan keluar 111
;;
bahawa C
Separuh pertama skrip ini menjalankan penyemak virus clamscan, menyimpan output dalam
berubah-ubah keluar. clamscan keluar dengan kod 1 apabila virus ditemui, keluar 0 apabila berjaya dan
menggunakan kod ralat lain untuk menunjukkan pelbagai ralat sistem. Kami hanya mahu menolak mel jika
clamscan keluar dengan kod 1. Apabila ini berlaku, kami mengambil output clamscan, formatkannya
dengan cara yang lebih menggembirakan (menanggalkan amaran), dan menghantarnya ke output standard. An
contoh transaksi SMTP menggunakan ujian badan ini dan pengesanan virus akan kelihatan seperti
ini (diuji dengan rentetan ujian EICAR khas yang menandakan positif dengan kebanyakan virus
dam):
DATA
354 masukkan mel, akhiri dengan "." pada baris dengan sendirinya
Subjek: ujian eicar
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
.
554-Mesej ini nampaknya dijangkiti virus
554 Eicar-Test-Tandatangan DITEMUI
Jika pemeriksaan virus gagal, skrip menjalankan mesej melalui pembunuh spam untuk diperiksa
spam. Ambil perhatian bahawa spamassassin mengubah suai mesej mel, supaya kita mesti menjalankannya
edinplace. Perhatikan juga bahawa clamscan akan membaca hingga akhir fail input, tetapi ini adalah
okay kerana edinplace memundurkan input standardnya. Kami menggunakan -e bendera untuk memberitahu spammassassin
untuk keluar 100 atas spam. Kemudian, jika spammassassin keluar dari 0, kami menerima mel tersebut. Jika ia keluar dengan
kecuali 100, sesuatu telah berlaku dan kami menangguhkan mel buat sementara waktu. Perhatikan bahawa ia
mungkin juga boleh menerima mel pada ketika ini, tetapi memandangkan pembunuh spam menyuntingnya
fail di tempatnya, mesej mungkin dipotong jika pembunuh spam keluar tanpa dijangka.
Jika spammassassin keluar dari 100, kami menolak mel tersebut. Kami juga melaporkan tentang sebab pembunuh spam
menolak mel tersebut. Di sini sekali lagi kami mengambil kesempatan daripada fakta bahawa edinplace memundurkannya
input standard sebelum dan selepas memproses mesej. Kerana deskriptor fail
telah digulung semula, kita boleh mula memproses mesej satu baris pada satu masa dengan shell
skrip. Spamassassin secara lalai (jika anda belum mengkonfigurasinya dengan "report_safe 0")
mengandungi laporan spam seperti ini:
Butiran analisis kandungan: (11.7 mata, 5.0 diperlukan)
huraian nama peraturan pts
---- -------------- -------------------------------- -------------------
1.0 RATWARE_RCVD_AT Cap jari e-mel pukal (Diterima @) ditemui
4.2 X_MESSAGE_INFO Cap jari e-mel pukal (X-Message-Info) ditemui
0.0 MONEY_BACK BODY: Jaminan wang dikembalikan
0.5 BIZ_TLD URI: Mengandungi URL dalam domain peringkat atas BIZ
0.6 URIBL_SBL Mengandungi URL yang disenaraikan dalam senarai sekat SBL
[URI: crocpeptide.biz]
0.5 URIBL_WS_SURBL Mengandungi URL yang disenaraikan dalam senarai sekat WS SURBL
[URI: crocpeptide.biz]
...
Kami melangkau tajuk, dan untuk setiap hasil, cetaknya ke sesi SMTP.
Keputusan negatif/senarai putih (yang bermula -), kami tidak melaporkan dan mengulas baris (bukan
bermula dengan nombor) kami mencetak inden. Sesi SMTP biasa kelihatan seperti ini (menggunakan
barisan ujian GTUBE khas yang mencetuskan penapis spam):
DATA
354 masukkan mel, akhiri dengan "." pada baris dengan sendirinya
Subjek: ujian gtube
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
.
554-Maaf, pembunuh spam telah membenderakan mesej anda sebagai spam
554- Tarikh Hilang: pengepala
554 BODY: Ujian Generik untuk E-mel Pukal Tidak Diminta
Berikut ialah contoh cara menggunakan sijil klien SSL untuk pengesahan. Jika anda mempunyai a
CA persendirian dengan nama biasa "CA Saya" yang menandatangani sijil semua yang dibenarkan anda
pelanggan mel, anda boleh meletakkan perkara berikut dalam /etc/avenger/relay untuk membenarkan pelanggan tersebut
geganti:
uji "CA saya" = "$SSL_ISSUER" \
&& terima "Penyampaian dibenarkan untuk pelanggan $SSL_SUBJECT"
tolak "penyampaian ditolak"
Gunakan avenger dalam talian menggunakan perkhidmatan onworks.net