นี่คือคำสั่ง claws-mail-perl-filter ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
cm_perl -- ปลั๊กอิน Perl สำหรับ Claws Mail
DESCRIPTION
ปลั๊กอินนี้มีเอ็นจิ้นการกรองเพิ่มเติมสำหรับไคลเอนต์อีเมล Claws Mail มัน
อนุญาตให้ใช้พลัง Perl เต็มรูปแบบในตัวกรองอีเมล
QUICK เริ่มต้น
ในการเริ่มต้น คุณสามารถใช้ปุ่ม matcherrc2perlfilter.pl สคริปต์ใน เครื่องมือ-directory ถึง
แปลกฎการกรองเก่าของคุณเป็น Perl เพียงรันสคริปต์และทำตาม
คำแนะนำ. (โปรดทราบว่าในเวอร์ชันล่าสุดของ Claws Mail สคริปต์นี้อาจใช้งานไม่ได้
เนื่องจากการเปลี่ยนแปลงไวยากรณ์ต้นน้ำ สิ่งนี้จะได้รับการปรับปรุงในอนาคต ส่งอีเมลถึงฉัน if
คุณมีปัญหาในการเริ่มต้น)
อย่างไรก็ตาม คุณอาจต้องการอ่านส่วนที่เหลือของคู่มือนี้และเขียน . ของคุณใหม่
กฎหากคุณเลือกใช้ปลั๊กอิน เนื่องจากโค้ด Perl ที่สร้างโดยสคริปต์นี้ไม่ใช่
สวยจริงๆ
ไม่พูด Perl? ไม่มีปัญหา "perldoc perlintro" น่าจะให้ข้อมูลเพียงพอสำหรับทำ
ของแฟนซี
การใช้
ปลั๊กอิน Perl ต้องการไฟล์สคริปต์ Perl ชื่อ perl_filter ใน Claws Mail' config
ไดเร็กทอรี (โดยปกติคือ $HOME/.claws-mail -- ลอง `claws-mail --config-dir' หากคุณไม่แน่ใจ)
หากไม่มีไฟล์นั้นเมื่อเริ่มต้นปลั๊กอิน ไฟล์ที่ว่างเปล่าจะถูกสร้างขึ้น ไฟล์นี้ซึ่ง
ไม่จำเป็นต้องเริ่มต้นด้วย sha-bang (!#/bin/perl) ถือคำแนะนำ Perl สำหรับคุณ
ตัวกรองอีเมล เพื่อส่งเสริมมารยาทที่ดี รหัสจะดำเนินการใน "ใช้อย่างเข้มงวด"
สิ่งแวดล้อม
การกรอง Claws Mail ทั้งสอง เงื่อนไข และ การปฏิบัติ ถูกแมปกับฟังก์ชัน Perl ด้วย
ชื่อที่สอดคล้องกันทุกที่ที่ทำได้
ฟังก์ชั่น รายชื่อ
สำหรับคำอธิบายฟังก์ชันโดยละเอียด โปรดดูส่วน "คำอธิบายฟังก์ชัน" ด้านล่าง
เงื่อนไขการกรองมาตรฐาน
ทั้งหมด, ทำเครื่องหมาย, ยังไม่ได้อ่าน, ลบ, ใหม่, ตอบกลับ,
ส่งต่อ, ล็อค, ละเว้น_thread, ป้ายสี,
จับคู่, matchcase, regexp, S
size_greater, size_smaller, ขนาด_เท่ากับ,
Score_greater, score_lower, score_equal, age_greater,
age_lower, บางส่วน, แท็ก
การดำเนินการกรองมาตรฐาน
ทำเครื่องหมาย, ยกเลิกการทำเครื่องหมาย, ลบ, mark_as_unread, mark_as_read,
ล็อค, ปลดล็อค, ย้าย, คัดลอก, สี, ดำเนินการ,
ซ่อน, set_score, change_score, หยุด, ไปข้างหน้า,
forward_as_attachment, เปลี่ยนเส้นทาง, set_tag, unset_tag,
clear_tags
สิ่งที่สนุก
ส่วนหัว, เนื้อหา, พาธไฟล์, extract_addresses,
move_to_trash, ยกเลิก, addr_in_addressbook,
from_in_addressbook, get_attribute_value, SA_is_spam,
ออก, คู่มือ, make_sure_folder_exists,
filter_log, filter_log_verbosity,
make_sure_tag_exists
ฟังก์ชั่น คำอธิบาย
โดยทั่วไป หลังจากการกรองที่เรียกใช้โดยสคริปต์ Perl เมลจะถูกส่งต่อไปยัง
เครื่องกรองภายในของกรงเล็บ, เว้นแต่ a สุดท้าย กฎถูกตี กฎสุดท้ายหยุดไม่เพียงเท่านั้น
สคริปต์การกรอง Perl ณ จุดที่เกิดขึ้น แต่ยังป้องกันการประมวลผล
อีเมลนั้นโดยเอ็นจิ้นการกรองภายในของ Claws (อาจฟังดูสับสน แต่คุณคือ
คุ้นเคยกับแนวคิดนั้นแล้วจากตัวกรองมาตรฐาน: หลังจากอีเมลเช่น ย้ายd,
กฎต่อไปนี้ใช้ไม่ได้อีกต่อไป)
ระวังคำพูดด้วย โดยเฉพาะอย่างยิ่ง จำไว้ว่าเครื่องหมาย @ มี a
ความหมายพิเศษในภาษา Perl และได้รับการแก้ไขภายในเครื่องหมายคำพูดคู่ ดู "อ้างและอ้าง-
like Operators" ใน perlop เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการอ้างอิงและการแก้ไข
Standard กรอง เงื่อนไข
ทั้งหมด ส่งกลับค่าที่แท้จริง มีให้เพื่อความสมบูรณ์เท่านั้น
ทำเครื่องหมาย ส่งกลับค่าจริงหากมีการตั้งค่าแฟล็กที่ทำเครื่องหมายไว้ มิฉะนั้นจะเป็นเท็จ
unread ส่งคืนค่าจริงหากมีการตั้งค่าแฟล็กที่ยังไม่ได้อ่าน มิฉะนั้นจะเป็นเท็จ
ลบ ส่งคืนค่าจริงหากมีการตั้งค่าแฟล็กที่ถูกลบ มิฉะนั้นจะเป็นเท็จ
ใหม่ ส่งคืนค่าจริงหากมีการตั้งค่าแฟล็กใหม่ มิฉะนั้น จะเป็นเท็จ
ตอบกลับ ส่งคืนค่าจริงหากมีการตั้งค่าแฟล็กตอบกลับ มิฉะนั้นจะเป็นเท็จ
ส่งต่อ
ส่งคืนค่าจริงหากมีการตั้งค่าแฟล็กที่ส่งต่อ มิฉะนั้นจะเป็นเท็จ
ล็อค ส่งกลับค่าจริงถ้าตั้งค่าสถานะล็อก เท็จมิฉะนั้น
ละเว้น_thread
ส่งคืนค่าจริงหากตั้งค่าสถานะ "ละเว้นเธรด" มิฉะนั้นจะเป็นเท็จ
ป้ายสี COLOR
ป้ายสี
ส่งคืนค่าจริงหากข้อความมีสี COLOR COLOR สามารถเป็นได้ทั้งตัวเลข
ค่าระหว่าง 0 ถึง 7 (ด้วยสีที่สอดคล้องกับการกรองภายใน
เครื่องยนต์) หรือชื่อสีภาษาอังกฤษตามที่แนะนำในกล่องโต้ตอบการกรอง
(กล่าวคือ ไม่มี สีส้ม แดง ชมพู ฟ้า น้ำเงิน เขียว หรือน้ำตาล ในขณะที่
อักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็กไม่แตกต่างกัน) หากละเว้น COLOR 0 (ไม่มี) คือ
สันนิษฐาน
size_greer SIZE
ส่งคืนค่าจริงหากขนาดข้อความมากกว่า SIZE มิฉะนั้นจะเป็นเท็จ
ขนาด_เล็กลง SIZE
ส่งคืนค่าจริงหากขนาดข้อความเล็กกว่า SIZE ไม่เช่นนั้นจะเป็นเท็จ
ขนาด_เท่ากับขนาด
ส่งคืนค่าจริงหากขนาดข้อความเท่ากับ SIZE มิฉะนั้นจะเป็นเท็จ
score_greer คะแนน
ส่งคืนค่าจริงหากคะแนนข้อความมากกว่า SCORE มิฉะนั้นจะเป็นเท็จ
score_lower คะแนน
ส่งคืนค่าจริงหากคะแนนข้อความต่ำกว่า SCORE มิฉะนั้นจะเป็นเท็จ
score_เท่ากับคะแนน
ส่งคืนค่าจริงหากคะแนนข้อความเท่ากับ SCORE ไม่เช่นนั้นจะเป็นเท็จ
อายุมากขึ้น AGE
ส่งคืนค่าจริงหากอายุข้อความมากกว่า AGE ไม่เช่นนั้นจะเป็นเท็จ
age_lower อายุ
ส่งคืนค่าจริงหากอายุข้อความต่ำกว่า AGE ไม่เช่นนั้นจะเป็นเท็จ
บางส่วน ส่งคืนค่าจริงหากข้อความถูกดาวน์โหลดเพียงบางส่วน false
มิฉะนั้น.
แท็ก ส่งคืนค่าจริงหากข้อความมีแท็กตั้งแต่หนึ่งแท็กขึ้นไป
ทดสอบ สอดคล้องกับกฎการกรองภายใน 'ทดสอบ' โดยเฉพาะอย่างยิ่งก็ยอมรับเหมือนกัน
สัญลักษณ์ กล่าวคือ:
-
%s หัวเรื่อง
%f จาก
%t ถึง
%c ซีซี
%d วันที่
%i ข้อความ-ID
%n กลุ่มข่าว
%r การอ้างอิง
%F ชื่อไฟล์ -- ไม่ควรแก้ไข
ตรงกับ WHAT
ไม้ขีดไฟ WHERE WHAT
regexp ที่ไหน อะไร
regexpcase ที่ไหน อะไร
ฟังก์ชันที่ตรงกันมีไวยากรณ์พิเศษ อาร์กิวเมนต์แรกเป็นอย่างใดอย่างหนึ่งของ
to_or_cc, body_part, headers_part, headers_cont, ข้อความ, ถึง, จาก, เรื่อง, cc,
กลุ่มข่าว การตอบกลับ การอ้างอิง หรือแท็ก (สตริงเหล่านั้นอาจเป็นหรือไม่ก็ได้
ที่ยกมา) การจับคู่รูปแบบทำงานในพื้นที่นั้น ถ้าเป็นสตริงอื่น (ซึ่ง
จะต้องถูกยกมา) สตริงนี้จะถูกนำมาเป็นชื่อของฟิลด์ส่วนหัว
อาร์กิวเมนต์ที่สองคือสตริงที่จะค้นหา สำหรับการจับคู่, matchcase, regexp และ
regexpcase เรามีการจับคู่แบบปกติที่ไวต่อตัวพิมพ์เล็กและตัวพิมพ์ใหญ่, ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ปกติ
การจับคู่ การจับคู่นิพจน์ทั่วไปที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ การจับคู่นิพจน์ทั่วไปที่ไม่คำนึงถึงตัวพิมพ์และตัวพิมพ์
การจับคู่รูปแบบนิพจน์ตามลำดับ
ฟังก์ชันจะคืนค่า จริง หากพบรูปแบบ มิฉะนั้น จะเป็นเท็จ
เช่นเดียวกับเอ็นจิ้นการกรองในตัว เนื้อหาข้อความจะถูกค้นหาและ
จัดให้ตามที่เป็นอยู่ - ไม่มีการวิเคราะห์ชุดอักขระ ในทำนองเดียวกัน ไม่มีแท็ก HTML เป็น
ปล้น ควรใช้โมดูลหรือโปรแกรมภายนอกสำหรับสิ่งเหล่านี้
งานแม้ว่า หากคุณกำลังทำเช่นนั้น ส่งข้อความถึงฉันด้วยประสบการณ์ของคุณ
โดยที่ Perl มีจุดแข็งในการจับคู่รูปแบบโดยใช้ตัวดำเนินการในตัวของ Perl
มักจะเป็นตัวเลือกที่ดีกว่าการใช้ฟังก์ชันเหล่านี้
Standard กรอง สถานะ
การดำเนินการจะส่งกลับค่าที่แท้จริงเมื่อประสบความสำเร็จ และ 'undef' เมื่อเกิดข้อผิดพลาด สุดท้าย
มีการระบุกฎของข้อความ (ดูด้านบนเพื่อสรุปว่ากฎขั้นสุดท้ายคืออะไร)
ทำเครื่องหมาย ทำเครื่องหมายข้อความ
ยกเลิกการทำเครื่องหมาย ยกเลิกการทำเครื่องหมายข้อความ
ลบ ลบข้อความ สังเกตการเปลี่ยนชื่อของ "ลบ" ของ Claws Mail เป็น "ลบ" นี้
เป็นเพราะ "ลบ" เป็นหนึ่งในคำสั่งในตัวของ Perl ซึ่งไม่สามารถกำหนดใหม่ได้
(ถ้าทำได้บอกด้วยนะครับ)
มันคือ สุดท้าย กฎ
ทำเครื่องหมายว่าอ่านแล้ว
ทำเครื่องหมายข้อความว่าอ่านแล้ว
mark_as_unread
ทำเครื่องหมายข้อความว่ายังไม่ได้อ่าน
ล็อค ล็อคข้อความ
ปลดล็อค ลบล็อคข้อความ
ย้าย DESTINATION
ย้ายข้อความไปที่โฟลเดอร์ DESTINATION สัญกรณ์โฟลเดอร์จะเหมือนกับ Claws
การใช้จดหมาย คุณสามารถคัดลอกและวางจากกล่องโต้ตอบการย้ายของการกรองปกติ
จนกว่าคุณจะได้สัมผัสสัญกรณ์
มันคือ สุดท้าย กฎ
คัดลอก DESTINATION
คัดลอกข้อความไปยังโฟลเดอร์ DESTINATION สัญกรณ์โฟลเดอร์จะเหมือนกับ Claws
การใช้จดหมาย คุณสามารถคัดลอกและวางจากกล่องโต้ตอบการย้ายของการกรองปกติ
จนกว่าคุณจะได้สัมผัสสัญกรณ์
ดำเนินการ COMMAND
เหมือนกับการทดสอบ - กฎจากส่วน "เงื่อนไขการกรองมาตรฐาน"
ยกเว้นว่าจะส่งกลับค่าจริงเสมอ
ซ่อน ซ่อนข้อความ
set_score คะแนน
ตั้งค่าคะแนนข้อความเป็น SCORE
change_score คะแนน
เปลี่ยนคะแนนข้อความโดย SCORE
หยุดสคริปต์ Stop Perl ณ จุดนี้ โปรดทราบว่านี่คือ ไม่ กฎข้อสุดท้าย หมายความว่า
อีเมลจะถูกส่งต่อไปยังกลไกการกรองภายใน ดู "ยกเลิก" ด้านล่าง if
คุณไม่ต้องการสิ่งนั้น
ส่งต่อบัญชี EMAIL
ส่งต่อข้อความไปยังที่อยู่อีเมล EMAIL โดยใช้ ID บัญชี ACCOUNT เป็นผู้ส่ง
บัญชีผู้ใช้. จนถึงตอนนี้ คุณต้องสร้างกฎในเอ็นจิ้นการกรองปกติเพื่อค้นหา
ออกจากหมายเลขนั้น
forward_as_attachment, อีเมลบัญชี
ส่งต่อข้อความไปยังที่อยู่อีเมล EMAIL ในรูปแบบไฟล์แนบ โดยใช้ ID บัญชี
ACCOUNT เป็นบัญชีผู้ส่ง จนถึงตอนนี้ คุณต้องสร้างกฎเกณฑ์ปกติ
เครื่องกรองเพื่อค้นหาตัวเลขนั้น
เปลี่ยนเส้นทางบัญชี EMAIL
เปลี่ยนเส้นทางข้อความไปที่ EMAIL โดยใช้ ID บัญชี ACCOUNT เป็นบัญชีผู้ส่ง ดังนั้น
จนถึงตอนนี้คุณต้องสร้างกฎในเอ็นจิ้นการกรองปกติเพื่อค้นหาว่า
จำนวน.
แท็ก set_tag
ใช้แท็ก TAG ต้องมี TAG
unset_tagแท็ก
ยกเลิกการตั้งค่าแท็ก TAG
clear_tags
ล้างแท็กทั้งหมด
สนุก สิ่งที่
ฟังก์ชั่น
ส่วนหัว ARG
ส่วนหัว ถ้าไม่ได้ระบุ ARG จะส่งกลับรายการชื่อฟิลด์ส่วนหัวทั้งหมดของเมล
หากกำหนด ARG ให้คืนค่า 'undef' หากไม่มีช่องส่วนหัว ARG ใน
อีเมล. มิฉะนั้นจะส่งคืน
ในบริบทสเกลาร์
ค่าของฟิลด์ส่วนหัว ARG
ในบริบทรายการ
รายการค่าฟิลด์ส่วนหัวที่มีอยู่ทั้งหมด สิ่งนี้มีประโยชน์หากฟิลด์ส่วนหัว
เกิดขึ้นมากกว่าหนึ่งครั้งในอีเมล (เช่น ได้รับ - ส่วนหัว)
ฟิลด์ส่วนหัว "การอ้างอิง" เป็นกรณีพิเศษ ในบริบทสเกลาร์ มัน
ส่งคืนการอ้างอิงแรก ในบริบทของรายการ จะส่งคืนรายการทั้งหมด
การอ้างอิง
เนื้อหา ส่งกลับเนื้อความอีเมลในสเกลาร์
ไฟล์พาธ
ส่งกลับไฟล์และเส้นทางของอีเมลที่ถูกกรองในปัจจุบัน (สอดคล้องกับ
%F ข้อโต้แย้งในกฎ 'การทดสอบ')
extract_addresses
แยกที่อยู่อีเมลออกจากสตริงและให้รายการที่อยู่กลับคืนมา
ขณะนี้พบที่อยู่อีเมลโดยใช้นิพจน์ทั่วไป
'[-.+\w]+\@[-.+\w]+'. ซึ่งจะไม่พบที่อยู่อีเมลที่ถูกต้องทั้งหมด รู้สึกอิสระที่จะ
ส่ง regexp ที่ดีกว่าให้ฉัน
ย้าย_to_trash
ย้ายข้อความอีเมลไปยังโฟลเดอร์ถังขยะเริ่มต้น
มันคือ สุดท้าย กฎ
ยกเลิกสคริปต์ Stop Perl ณ จุดนี้
ตรงกันข้ามกับ 'หยุด' นี่คือa สุดท้าย กฎ
addr_in_addressbook อีเมล, ADDRESSBOOK
addr_in_สมุดที่อยู่ EMAIL
ส่งคืนค่าจริงหากที่อยู่อีเมล EMAIL อยู่ในสมุดที่อยู่ที่มีเครื่องหมาย
ชื่อ ADDRESSBOOK หากไม่ระบุ ADDRESSBOOK ให้คืนค่า จริง หากที่อยู่อีเมล
อยู่ในสมุดที่อยู่
from_in_สมุดที่อยู่ ADDRESSBOOK
from_in_สมุดที่อยู่
ตรวจสอบว่าที่อยู่อีเมลที่พบในส่วนหัวจากนั้นอยู่ในสมุดที่อยู่ ADDRESSBOOK
(หรืออย่างอื่นถ้าละเว้น) มันถูกนำไปใช้เป็น
my ($จาก) = extract_addresses(ส่วนหัว("จาก"));
คืนค่า 0 เว้นแต่ $ จาก;
ส่งคืน addr_in_addressbook($from,@_);
ดังนั้นจึงมีข้อจำกัดเช่นเดียวกับ extract_addresses
get_attribute_value อีเมล แอตทริบิวต์ สมุดที่อยู่
get_attribute_value อีเมล ATTRIBUTE
ดูผ่านสมุดที่อยู่ ADDRESSBOOK (หรือสมุดที่อยู่ทั้งหมด หากไม่ระบุ) สำหรับ a
ติดต่อกับที่อยู่อีเมล EMAIL หากพบ ฟังก์ชันจะตรวจสอบว่าสิ่งนี้
ผู้ติดต่อมีแอตทริบิวต์ผู้ใช้ชื่อ ATTRIBUTE มันคืนค่าของสิ่งนี้
แอตทริบิวต์หรือสตริงว่างหากไม่พบ ตามปกติ 'undef' จะถูกส่งคืน
หากเกิดข้อผิดพลาด
SA_is_spam
เป็นนามแฝงของ
ไม่ทดสอบ 'spamc -c < %F > /dev/null'
exit ได้รับการกำหนดใหม่ให้เป็นนามแฝงเพื่อ 'หยุด' คุณไม่ควรใช้ 'ทางออก' ของ Perl
คำสั่ง เนื่องจากมันจะออกจาก Claws Mail
manual ส่งคืนค่าจริงหากสคริปต์ตัวกรองถูกเรียกใช้ด้วยตนเอง นั่นคือ ผ่านทาง
เมนูเครื่องมือ
make_sure_folder_exist IDENTIFIER
ส่งคืนค่าจริงหากโฟลเดอร์ที่มี id IDENTIFIER (เช่น #mh/Mail/foo/bar)
มีอยู่หรือสร้างขึ้นได้
make_sure_tag_exists แท็ก
ส่งคืนค่าจริงหากมีแท็ก TAG อยู่หรือสร้างขึ้นได้
filter_log ส่วน, TEXT
filter_log ข้อความ
เขียน TEXT ไปยังไฟล์บันทึกตัวกรอง SECTION สามารถเป็นอะไรก็ได้ของ
· "LOG_MANUAL"
· "LOG_MATCH"
· "LOG_ACTION"
หากละเว้น SECTION จะถือว่า "LOG_MANUAL"
filter_log_verbosity ความฟุ่มเฟือย
filter_log_verbosity
เปลี่ยนการใช้คำฟุ่มเฟือยบันทึกการกรองสำหรับเมลปัจจุบัน VERBOSITY ต้องเป็นอย่างใดอย่างหนึ่งของ
0 เงียบไว้
1 บันทึก ประเภท MANUAL
2 ประเภทการดำเนินการบันทึก
3 บันทึก MATCH ประเภท
สำหรับความหมายของตัวเลขเหล่านั้น อ่านหัวข้อ "การบันทึก" หากละเว้น VERBOSITY
การใช้คำฟุ่มเฟือยของไฟล์บันทึกตัวกรองจะไม่เปลี่ยนแปลง
ฟังก์ชันนี้ส่งคืนหมายเลข filter_log_verbosity ก่อนการเปลี่ยนแปลง (ถ้ามี)
ตัวแปร
$ถาวร
สเกลาร์นี้จะคงค่าไว้ระหว่างข้อความเมลที่กรอง เมื่อเริ่มต้นปลั๊กอิน มันคือ
เริ่มต้นเป็นสตริงว่าง
เข้าสู่ระบบ
เพื่อติดตามสิ่งที่ทำกับเมลขณะกรอง ปลั๊กอินรองรับ
การบันทึก ระดับการใช้คำฟุ่มเฟือยสามระดับได้รับการยอมรับ:
ปิดใช้งานการบันทึก 0 รายการ
1 บันทึกเฉพาะข้อความด้วยตนเอง นั่นคือ ข้อความที่แนะนำโดยคำสั่ง "filter_log" ใน
สคริปต์ตัวกรอง
2 บันทึกข้อความด้วยตนเองและการดำเนินการกรอง
3 บันทึกข้อความด้วยตนเอง การดำเนินการกรอง และตัวกรองที่ตรงกัน
ข้อความจะถูกบันทึกไว้ในหน้าต่างบันทึกของ Claws Mail ระดับการบันทึกเริ่มต้นคือ 2 ระดับการบันทึก
ไม่แนะนำ 3 เนื่องจากฟังก์ชันจับคู่จะบันทึกข้อความหากสำเร็จ และ
ดังนั้น หากคุณมีเช็คติดลบ คุณจะสร้างความสับสนให้กับรายการ หากคุณต้องการติดตาม
ของการจับคู่ ทำด้วยตนเอง โดยใช้ "filter_log" หรือทำโดยการเปิดใช้งานการจับคู่ชั่วคราว
การบันทึกโดยใช้ "filter_log_verbosity"
ครั้งแรกที่คุณยกเลิกการโหลดปลั๊กอินนี้ (หรือปิด Claws Mail) ส่วนที่เรียกว่า
[ปลั๊กอิน Perl] จะถูกสร้างขึ้นในไฟล์กำหนดค่าของ Claws Mail กรงเล็บซึ่งประกอบด้วยหนึ่ง
ตัวแปร:
* filter_log_verbosity
หากคุณต้องการเปลี่ยนพฤติกรรมเริ่มต้น คุณสามารถแก้ไขบรรทัดนี้ได้ ตรวจสอบให้แน่ใจว่า Claws Mail
ไม่ทำงานในขณะที่คุณทำเช่นนี้
จะสามารถเข้าถึงการตั้งค่าเหล่านี้ผ่าน GUI ได้ทันทีที่ฉันหาเวลาไป
เขียนปลั๊กอิน GTK ที่เกี่ยวข้อง หรือมีคนอื่นสนใจร่วมให้ข้อมูลนั้น
ตัวอย่าง
ส่วนนี้แสดงตัวอย่างเล็กๆ ของไฟล์สคริปต์ Perl แน่ใจนะว่าเข้าใจ..
#-8<---------------------------------------------------------- ------
# -*- เพิร์ล -*-
# ฟังก์ชั่นท้องถิ่น
# เรียนรู้ข้อความแฮมและย้ายไปยังโฟลเดอร์ที่ระบุ นี่คือ
# มีประโยชน์เพื่อให้แน่ใจว่าตัวกรองเบย์เห็นแฮมเช่นกัน
ย่อย learn_and_move {
ดำเนินการ ('ใส่คำสั่งเพื่อเรียนรู้แฮมที่นี่');
เคลื่อนไหว(@_);
}
# ตัวกรองสแปมสองขั้นตอน อีเมลทุกฉบับที่ได้คะแนนสูงกว่า 15
# ใน SpamAssassin ถูกย้ายไปที่โฟลเดอร์ถังขยะเริ่มต้น
# เมลทั้งหมดต่ำกว่านั้น แต่สูงกว่าของ SpamAssassin
# 'required_hits' ไปที่ #mh/mail/Spam
ตรวจสอบสแปมย่อย {
$surely_spam ของฉัน = 15;
$filepath ของฉัน = filepath;
$spamc ของฉัน = `spamc -c < $filepath`;
ของฉัน ($value,$threshold) = ($spamc =~ m|([-.,0-9]+)/([-.,0-9]+)|);
if($value >= $surely_spam) {
ทำเครื่องหมายว่าอ่านแล้ว;
move_to_ถังขยะ;
}
if($value >= $threshold) {mark_as_read; ย้าย '#mh/mail/Spam';}
}
# การดำเนินการสคริปต์ Perl เริ่มต้นที่นี่
# การเรียงลำดับเฉพาะบางอย่าง
learn_and_move '#mh/mail/MailLists/ Claws Mail/ผู้ใช้'
ถ้าจับคู่ ('ผู้ส่ง','[ป้องกันอีเมล]');
learn_and_move '#mh/mail/MailLists/Sylpheed'
ถ้า matchcase('list-id','sylpheed.good-day.net');
# ใช้โฟลเดอร์ที่เข้ามาใหม่โดยใช้สมุดที่อยู่
# คุณลักษณะ. โฟลเดอร์เป้าหมายสำหรับที่อยู่อีเมลเฉพาะคือ
# เก็บไว้ในสมุดที่อยู่โดยตรง วิธีนี้หากอีเมล
# การเปลี่ยนแปลงที่อยู่เราต้องอัปเดตสมุดที่อยู่เท่านั้นไม่ใช่
#กฎการกรอง! นอกจากนั้น เรายังสามารถกระจาย
#สคริปต์ตัวกรอง
# รับที่อยู่อีเมลในจากส่วนหัว
my $fromheader = ส่วนหัว "จาก";
my ($จาก) = extract_addresses $fromheader;
# ตรวจสอบว่าที่อยู่อีเมลนี้มีแอตทริบิวต์ที่เกี่ยวข้องหรือไม่
# เรียกว่า "incomming_folder" ถ้ามี ค่านี้
# แอตทริบิวต์ควรจะเป็นโฟลเดอร์เป้าหมาย
ค่า $ ของฉัน = get_attribute_value $ จาก "incomming_folder";
learn_and_move($value) ถ้า $value;
# ตัวอย่างรายการที่อนุญาต: หากที่อยู่ต้นทางอยู่ใน my
# สมุดที่อยู่ "office" ย้ายเมลไปที่โฟลเดอร์ #mh/mail/office
learn_and_move '#mh/mail/office' ถ้า from_in_addressbook("office");
# หากที่อยู่ต้นทางอยู่ในสมุดที่อยู่อื่น ให้ย้าย
# ส่งไปยังโฟลเดอร์ #mh/mail/inbox/known
learn_and_move '#mh/mail/inbox/known' ถ้ามาจาก_in_addressbook;
# ฟีดอีเมลที่เหลือผ่าน SpamAssassin
ตรวจสอบสแปม;
# อีเมลที่ส่งไปยังจุดสิ้นสุดของสคริปต์จะถูกส่งต่อไปยัง
#เครื่องกรองภายใน. ถ้ากฎภายในไม่บอก
# มิฉะนั้น อีเมลจะสิ้นสุดในกล่องจดหมายเริ่มต้น
#-8<---------------------------------------------------------- ------
ใช้ claws-mail-perl-filter ออนไลน์โดยใช้บริการ onworks.net