영어프랑스어스페인어

Ad


온웍스 파비콘

발톱 메일 펄 필터 - 클라우드의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 클로즈-메일-펄-필터를 실행하세요.

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 클로즈-메일-펄-필터 명령입니다.

프로그램:

이름


cm_perl -- Claws Mail용 Perl 플러그인

기술


이 플러그인은 이메일 클라이언트 Claws Mail에 대한 확장된 필터링 엔진을 제공합니다. 그것
이메일 필터에서 Perl의 모든 기능을 사용할 수 있습니다.

빨리 게임을 시작하다


시작하려면 다음을 사용할 수 있습니다. matcherrc2perlfilter.pl 스크립트 검색을-디렉토리
이전 필터링 규칙을 Perl로 변환하십시오. 간단히 스크립트를 실행하고 다음을 따르세요.
지침. (최신 버전의 Claws Mail에서는 이 스크립트가 작동하지 않을 수 있습니다.
업스트림 구문 변경으로 인해. 이는 향후 업데이트될 예정입니다. 다음과 같은 경우 나에게 이메일을 보내주세요.
시작하는 데 문제가 있습니다.)

그러나 이 설명서의 나머지 부분을 읽고 내용을 다시 작성하는 것이 좋습니다.
이 스크립트에 의해 생성된 Perl 코드는 플러그인을 사용하기로 선택한 경우 규칙이 적용되지 않습니다.
정확히 예쁘다.

Perl을 모르시나요? 문제 없습니다. "perldoc perlintro"를 사용하면 수행할 수 있는 충분한 정보를 얻을 수 있습니다.
멋진 물건.

사용법


Perl 플러그인은 다음과 같은 Perl 스크립트 파일을 기대합니다. 펄_필터 Claws Mail' 구성에서
디렉토리(보통 $HOME/.claws-mail -- 확실하지 않은 경우 `claws-mail --config-dir'을 시도하십시오).
플러그인 시작 시 해당 파일이 없으면 빈 파일이 생성됩니다. 이 파일은
sha-bang(!#/bin/perl)으로 시작할 필요가 없으며 Perl 지침이 들어 있습니다.
이메일 필터. 좋은 매너를 장려하기 위해 코드는 "use strict;"로 실행됩니다.
환경을 제공합니다.

양발톱 메일' 필터링 조건행위 다음을 사용하여 Perl 함수에 매핑됩니다.
가능하다면 해당 이름을 사용하세요.

FUNCTION 목록


자세한 기능 설명은 아래의 "기능 설명" 섹션을 참조하십시오.

표준 필터링 조건
모두, 표시됨, 읽지 않음, 삭제됨, 신규, 답변됨,
전달됨, 잠김,ignore_thread, colorlabel,
일치, 성냥갑, 정규식, S
크기_크게, 크기_작게, 크기_동일,
점수_상대, 점수_하위, 점수_동일, 연령_상대,
연령_하위, 부분, 태그됨

표준 필터링 작업
표시, 표시 해제, 삭제, mark_as_unread, mark_as_read,
잠금, 잠금 해제, 이동, 복사, 색상, 실행,
숨기기, set_score,change_score, 중지, 앞으로,
ward_as_attachment, 리디렉션, set_tag, unset_tag,
클리어_태그

재미있는 것들
헤더, 본문, 파일 경로, 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

FUNCTION 설명 추가


일반적으로 Perl 스크립트에 의해 필터링이 호출된 후 메일은 다음으로 전달됩니다.
Claws의 내부 필터링 엔진, ...을 제외하면 a 최후의 규칙이 맞았습니다. 최종 규칙은 뿐만 아니라
발생 시점에 Perl 필터링 스크립트를 실행하지만 처리도 방지합니다.
Claws의 내부 필터링 엔진에서 보낸 이메일(혼란스럽게 들릴 수도 있지만
표준 필터의 해당 개념에 이미 익숙합니다. 이메일이 수신된 후 움직임d,
다음 규칙은 더 이상 적용되지 않습니다.)

또한 인용 방식에 주의하세요. 특히 @-기호에는
Perl에서는 특별한 의미를 가지며 큰따옴표 안에 삽입됩니다. "견적 및 견적-
인용 및 보간법에 대해 자세히 알아보려면 perlop의 연산자와 유사합니다.

ㅁㄴㅇㄹ 필터링 상태
모두 참값을 반환합니다. 완전한 경우에만 사용할 수 있습니다.

표시됨 표시된 플래그가 설정된 경우 참 값을 반환하고 그렇지 않으면 거짓 값을 반환합니다.

unread 읽지 않음 플래그가 설정되어 있으면 true 값을 반환하고, 그렇지 않으면 false를 반환합니다.

삭제 삭제 플래그가 설정된 경우 참 값을 반환하고, 그렇지 않으면 거짓 값을 반환합니다.

new 새 플래그가 설정되면 true 값을 반환하고, 그렇지 않으면 false를 반환합니다.

응답됨 응답 플래그가 설정되어 있으면 참 값을 반환하고 그렇지 않으면 거짓 값을 반환합니다.

전달
전달된 플래그가 설정된 경우 true 값을 반환하고, 그렇지 않으면 false를 반환합니다.

잠긴 플래그가 설정되어 있으면 true 값을 반환하고, 그렇지 않으면 false를 반환합니다.

무시_스레드
"스레드 무시" 플래그가 설정된 경우 참 값을 반환하고 그렇지 않으면 거짓 값을 반환합니다.

컬러라벨 COLOR
컬러 라벨
메시지에 COLOR 색상이 있으면 참값을 반환합니다. COLOR는 숫자일 수 있습니다.
0~7 사이의 값(내부 필터링에 해당하는 색상 포함)
엔진) 또는 필터링 대화 상자에 소개된 영어 색상 이름
(즉, 없음, 주황색, 빨간색, 분홍색, 하늘색, 파란색, 녹색 또는 갈색 중 하나입니다.
대문자, 소문자는 아무런 차이가 없습니다.) COLOR를 생략하면 0(없음)이 됩니다.
추정.

크기_더 큰 크기
메시지 크기가 SIZE보다 크면 true 값을 반환하고, 그렇지 않으면 false를 반환합니다.

size_더 작은 크기
메시지 크기가 SIZE보다 작으면 true 값을 반환하고, 그렇지 않으면 false를 반환합니다.

크기_동일 크기
메시지 크기가 SIZE와 같으면 true 값을 반환하고, 그렇지 않으면 false를 반환합니다.

score_greater 점수
메시지 점수가 SCORE보다 크면 true 값을 반환하고, 그렇지 않으면 false를 반환합니다.

점수_낮은 점수
메시지 점수가 SCORE보다 낮으면 true 값을 반환하고, 그렇지 않으면 false를 반환합니다.

점수_동일 점수
메시지 점수가 SCORE와 같으면 true 값을 반환하고, 그렇지 않으면 false를 반환합니다.

age_나이가 많음
메시지 수명이 AGE보다 크면 true 값을 반환하고, 그렇지 않으면 false를 반환합니다.

연령_하위 연령
메시지 수명이 AGE보다 낮으면 true 값을 반환하고, 그렇지 않으면 false를 반환합니다.

부분 메시지가 부분적으로만 다운로드된 경우 참 값을 반환하고 거짓을 반환합니다.
그렇지 않으면.

tagged 메시지에 하나 이상의 태그가 있는 경우 true 값을 반환합니다.

test 'test' 내부 필터링 규칙에 해당합니다. 특히, 그것은 같은 것을 받아들인다.
기호, 즉:

%% %

%s 제목

%f에서

%t까지

%c참조

%d 날짜

%i 메시지 ID

%n개의 뉴스그룹

%r 참조

%F 파일 이름 - 수정하면 안 됩니다.

어디에서 무엇을 일치시키나요?
성냥갑 어디에서 무엇을
정규식 어디서 무엇을
regexpcase 어디서 무엇을
일치 함수에는 특별한 구문이 있습니다. 첫 번째 인수는 다음 중 하나입니다.
to_or_cc, body_part, headers_part, headers_cont, 메시지, 받는 사람, 보낸 사람, 제목, 참조,
뉴스 그룹, 회신, 참조 또는 태그(해당 문자열은
인용) 패턴 일치는 해당 영역에서 작동합니다. 다른 문자열인 경우(
그런 다음 따옴표로 묶어야 함), 이 문자열은 헤더 필드의 이름으로 간주됩니다.

두 번째 인수는 찾을 문자열입니다. 일치, 성냥갑, 정규식 및
regexpcase 대소문자를 구분하는 일반 일치, 대소문자를 구분하지 않는 일반 일치가 있습니다.
일치, 대소문자 구분 정규식 일치 및 대소문자 구분 정규식 일치
각각 표현 패턴 일치.

함수는 패턴이 발견되면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

내장된 필터링 엔진과 마찬가지로 메시지 본문을 검색하여
있는 그대로 제공됩니다. 문자 세트 분석은 수행되지 않습니다. 마찬가지로 HTML 태그도 없습니다.
벗겨진. 이를 위해 외부 모듈이나 프로그램을 사용할 수 있어야 합니다.
그래도 과제. 그렇게 하고 계시다면, 귀하의 경험을 메시지로 보내주세요.

Perl은 패턴 일치에 강점을 갖고 있으며 Perl의 내장 연산자를 사용합니다.
일반적으로 이러한 기능을 사용하는 것보다 더 나은 옵션입니다.

ㅁㄴㅇㄹ 필터링 행위
작업은 성공 시 참값을 반환하고, 오류가 발생하면 'undef'를 반환합니다.
메시지 규칙이 표시됩니다. (최종 규칙이 무엇인지 스케치하려면 위를 참조하세요)

표시 메시지를 표시하세요.

표시 해제 메시지 표시를 해제합니다.

삭제 메시지를 삭제합니다. Claws Mail의 "삭제"가 "삭제"로 이름이 변경된 것을 확인하세요. 이것
"삭제"는 재정의할 수 없는 Perl의 내장 명령 중 하나이기 때문입니다.
(가능하다면 방법을 알려주세요).

이것은 최후의 규칙.

읽은 상태로 표시
메시지를 읽은 상태로 표시

읽지 않은 상태로 표시
메시지를 읽지 않은 상태로 표시

잠금 메시지 잠금

잠금 해제 메시지 잠금 제거

목적지 이동
메시지를 DESTINATION 폴더로 이동하세요. 폴더 표기는 Claws와 동일합니다.
메일을 사용합니다. 일반 필터링의 이동 대화 상자에서 복사하여 붙여넣을 수 있으며,
표기법에 대한 느낌을 얻을 때까지.

이것은 최후의 규칙.

복사 대상
메시지를 DESTINATION 폴더에 복사하세요. 폴더 표기는 Claws와 동일합니다.
메일을 사용합니다. 일반 필터링의 이동 대화 상자에서 복사하여 붙여넣을 수 있으며,
표기법에 대한 느낌을 얻을 때까지.

명령 실행
이는 "표준 필터링 조건" 섹션의 테스트 규칙과 동일합니다.
항상 참값을 반환한다는 점만 빼면요.

숨기기 메시지 숨기기

set_score 점수
메시지 점수를 SCORE로 설정

변화_점수 점수
SCORE로 메시지 점수 변경

이 시점에서 Stop Perl 스크립트를 중지하십시오. 참고로 이는 지원 최종 규칙은 다음을 의미합니다.
이메일은 내부 필터링 엔진으로 전달됩니다. 다음의 경우 "중단"을 참조하세요.
당신은 그것을 원하지 않습니다.

계정, 이메일 전달
계정 ID ACCOUNT를 발신자로 사용하여 이메일 주소 EMAIL로 메시지를 전달하세요.
계정. 지금까지는 일반 필터링 엔진에서 규칙을 생성하여 다음을 찾아야 했습니다.
그 번호로 나가세요.

Forward_as_attachment, 계정 이메일
계정 ID를 사용하여 첨부 파일에 있는 이메일 주소 EMAIL로 메시지를 전달하세요.
ACCOUNT를 보낸 사람 계정으로 사용합니다. 지금까지는 일반 모드에서 규칙을 만들어야 합니다.
필터링 엔진을 사용하여 해당 숫자를 알아냅니다.

계정, 이메일 리디렉션
계정 ID ACCOUNT를 발신자 계정으로 사용하여 메시지를 EMAIL로 리디렉션합니다. 그래서
지금까지는 일반 필터링 엔진에서 규칙을 생성하여 다음을 확인해야 합니다.
수.

set_tag 태그
태그 TAG를 적용합니다. TAG가 있어야 합니다.

unset_tag 태그
태그 TAG를 설정 해제하세요.

클리어_태그
모든 태그를 지웁니다.

재미 물건
기능

헤더 ARG
header ARG가 제공되지 않으면 메일의 모든 헤더 필드 이름 목록을 반환합니다.

ARG가 주어지면 헤더 필드 ARG가 파일에 없으면 'undef'를 반환합니다.
이메일. 그렇지 않으면 반환됩니다.

스칼라 컨텍스트에서
헤더 필드 ARG의 값입니다.

목록 컨텍스트에서
사용 가능한 모든 헤더 필드 값의 목록입니다. 헤더 필드인 경우에 유용합니다.
이메일에서 두 번 이상 발생합니다(예: 수신됨 - 헤더).

헤더 필드 "References"는 특별한 경우를 형성합니다. 스칼라 문맥에서는
첫 번째 참조를 반환합니다. 목록 컨텍스트에서는 모든 항목의 목록을 반환합니다.
참조.

body 이메일 본문을 스칼라로 반환합니다.

파일 경로
현재 필터링된 이메일의 파일 및 경로를 반환합니다(다음에 해당).
'테스트' 규칙의 %F 인수).

추출_주소
문자열에서 이메일 주소를 추출하고 찾은 주소 목록을 반환합니다.
현재 정규식을 사용하여 이메일 주소를 찾습니다.
'[-.+\w]+\@[-.+\w]+'. 유효한 이메일 주소를 모두 찾을 수는 없습니다. 자유롭게
더 나은 정규식을 보내주세요.

move_to_trash
이메일 메시지를 기본 휴지통 폴더로 이동합니다.

이것은 최후의 규칙.

이 시점에서 Perl 스크립트 중지를 중단하십시오.

'멈추다'와는 대조적이다. 최후의 규칙.

addr_in_addressbook 이메일, 주소록
addr_in_addressbook 이메일
이메일 주소 EMAIL이 다음과 같은 주소록에 있는 경우 참값을 반환합니다.
이름 주소록. ADDRESSBOOK이 제공되지 않은 경우 이메일 주소가 있으면 true를 반환합니다.
주소록에 있습니다.

from_in_addressbook 주소록
from_in_주소록
From-헤더에 있는 이메일 주소가 주소록 ADDRESSBOOK에 있는지 확인합니다.
(또는 생략된 경우 임의). 다음과 같이 구현됩니다.

my ($from) = extract_addresses(header("from"));
$from이 아니면 0을 반환합니다.
return addr_in_addressbook($from,@_);

따라서 extract_addresses와 동일한 제한사항이 적용됩니다.

get_attribute_value 이메일, 속성, 주소록
get_attribute_value 이메일, ATTRIBUTE
주소록 ADDRESSBOOK(또는 생략된 경우 모든 주소록)을 통해
이메일 주소 EMAIL로 연락하세요. 발견되면 함수는 다음을 확인합니다.
연락처에 이름이 ATTRIBUTE인 사용자 속성이 있습니다. 이 값을 반환합니다.
속성을 찾을 수 없으면 빈 문자열입니다. 평소와 같이 'undef'가 반환됩니다.
오류가 발생한 경우.

SA_is_spam
별칭은 다음과 같습니다.

'spamc -c < %F > /dev/null'을 테스트하지 않음

종료 'stop'에 대한 별칭으로 재정의되었습니다. Perl 자체의 '종료'를 사용하면 안 됩니다.
명령을 실행하면 Claws Mail이 종료되기 때문입니다.

manual 필터 스크립트가 수동으로, 즉 다음을 통해 호출된 경우 참값을 반환합니다.
도구 메뉴.

make_sure_folder_exists 식별자
폴더 ID가 IDENTIFIER(예: #mh/Mail/foo/bar)인 경우 참값을 반환합니다.
존재하거나 생성될 수 있습니다.

make_sure_tag_exists 태그
태그 TAG가 존재하거나 생성될 수 있는 경우 참값을 반환합니다.

filter_log 섹션, 텍스트
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을 종료)하면 다음과 같은 섹션이 나타납니다.
[펄 플러그인] Claws Mail의 구성 파일에 생성됩니다. 발톱, 하나 포함
변하기 쉬운:

* filter_log_verbosity

기본 동작을 변경하려면 이 줄을 편집하면 됩니다. Claws 메일을 확인하세요.
이 작업을 수행하는 동안은 실행되지 않습니다.

시간이 나면 GUI를 통해 이러한 설정에 액세스할 수 있습니다.
해당 GTK 플러그인을 작성하거나 다른 사람이 이에 기여하는 데 관심이 있습니다.


이 섹션에는 Perl 스크립트 파일의 작은 예가 나열되어 있습니다. 나는 당신이 아이디어를 얻을 것이라고 확신합니다 ..

#-8<--------------------- ------
# -*- 펄 -*-

# 로컬 함수

# 햄 메시지를 학습하고 지정된 폴더로 이동합니다. 이것은
# 베이즈 필터가 햄도 감지하는지 확인하는 데 유용합니다.
하위 learn_and_move {
Execute('여기에 햄을 학습하는 명령을 입력하세요');
이동하다(@_);
}

# 15단계 스팸 필터. XNUMX점보다 높은 점수를 받은 모든 이메일
# SpamAssassin의 경우 기본 휴지통 폴더로 이동됩니다.
# 그보다 낮지만 SpamAssassin보다 높은 모든 메일
# 'required_hits'는 #mh/mail/Spam에 들어갑니다.
하위 스팸체크 {
내 $surely_spam = 15;
내 $filepath = 파일 경로;
내 $spamc = `spamc -c < $filepath`;
내 ($value,$threshold) = ($spamc =~ m|([-.,0-9]+)/([-.,0-9]+)|);
if($value >= $surely_spam) {
읽은 상태로 표시;
move_to_trash;
}
if($value >= $threshold) {mark_as_read; 이동 '#mh/메일/스팸';}
}

# Perl 스크립트 실행이 여기서 시작됩니다.

# 특정 정렬
learn_and_move '#mh/mail/MailLists/Claws 메일/사용자'
일치하는 경우('발신자','[이메일 보호]');
learn_and_move '#mh/mail/MailLists/Sylpheed'
if matchcase('list-id','sylpheed.good-day.net');

# 주소록을 사용하여 imcomming 폴더 구현
# 속성. 특정 이메일 주소의 대상 폴더는 다음과 같습니다.
# 주소록에 직접 저장됩니다. 이렇게 해서 이메일이 오면
# 주소가 변경되면 주소록만 업데이트하면 됩니다.
# 필터 규칙! 그 외에도 우리는 공간을 크게 정리할 수 있습니다.
# 필터 스크립트.

# from 헤더에서 이메일 주소를 얻습니다.
내 $fromheader = 헤더 "from";
내 ($from) = extract_addresses $fromheader;

# 이 이메일 주소에 연관된 속성이 있는지 확인
# "incomming_folder"라고 합니다. 만약 그렇다면, 이것의 가치는
# 속성은 대상 폴더로 간주됩니다.
내 $value = get_attribute_value $from, "incomming_folder";
learn_and_move($value) if $value;

# 화이트리스트의 예: 보낸 사람 주소가 내 주소에 있는 경우
# "office" 주소록, 메일을 #mh/mail/office 폴더로 이동합니다.
learn_and_move '#mh/mail/office' if from_in_addressbook("사무실");

# 보낸 사람 주소가 다른 주소록에 있는 경우 해당 주소를 이동하세요.
# #mh/mail/inbox/known 폴더로 메일 보내기
learn_and_move '#mh/mail/inbox/known' if from_in_addressbook;

# SpamAssassin을 통해 나머지 메일을 공급합니다.
스팸체크;

# 스크립트 끝에 도달한 메일은 다음으로 전달됩니다.
# 내부 필터링 엔진. 내부 규정에 명시되어 있지 않은 경우
# 그렇지 않으면 메일이 기본 받은 편지함에 들어가게 됩니다.
#-8<--------------------- ------

onworks.net 서비스를 사용하여 온라인으로 Claws-mail-perl-filter를 사용하십시오.


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad