Các $DEFAULT
cuối cùng là một lỗi cú pháp. Bạn không thể chỉ định nhiều hành động trên cùng một công thức.
Những gì bạn có thể làm là chia nó thành hai công thức; hoặc, trong trường hợp này, chỉ cần kết hợp viết lại và gửi.
:0:
* ^TO_special@domain\.com
* ^Chủ đề:\/.+
| /usr/local/bin/formail -I"Subject: [SPECIAL]$MATCH" >>$DEFAULT
Điều này không còn có fh
cờ vì chúng tôi muốn đẩy toàn bộ thông báo qua (không chỉ các tiêu đề, mà h
thực hiện) và chúng tôi muốn phân phối chứ không phải nắm bắt kết quả của đường dẫn trở lại Procmail (mà f
làm).
Điều này giả định rằng $DEFAULT
là một tập tin, không phải là một thư mục; và do đó chúng tôi cũng thêm một giây :
để chỉ định khóa.
Nếu bạn muốn chỉ định hai hành động trong một tập hợp các điều kiện, bạn có thể sử dụng dấu ngoặc nhọn với nhiều công thức bên trong chúng. Mỗi công thức có thể có 0 hoặc nhiều điều kiện nhưng chỉ có một hành động.
:0
* ^TO_special@domain\.com
* ^Chủ đề:\/.+
{
:0fhw
| formail -I"Subject: [SPECIAL]$MATCH"
:0:
$DEFAULT
}
nhưng trong trường hợp này đó là một sự phức tạp không cần thiết.
(Có lẽ cũng thành ngữ hơn khi di chuyển ^Chủ đề:
điều kiện để thư điện tử
công thức mà nó thuộc về một cách logic, nhưng dù sao đây cũng chỉ là một tiếp tuyến.)
Ngoài ra, có lẽ đảm bảo rằng bạn CON ĐƯỜNG
là chính xác ngay khi bắt đầu của bạn .procmailrc
để bạn có thể tránh đánh vần đường dẫn đầy đủ đến các tiện ích bên ngoài như thư điện tử
.