Điểm:0

Procmail không trả lại email

lá cờ tr

Tôi có một địa chỉ email nhận tất cả cho miền của mình, tuy nhiên tôi muốn chặn một số địa chỉ nhận thư. Trước đây, tôi đã làm nó như thế này:

:0
* ^(X-Original-To): [email protected]
/dev/null

Điều này hoạt động tốt, tuy nhiên, email bị bỏ qua một cách âm thầm. Tôi muốn thư bị trả lại được gửi lại cho người gửi để họ biết rằng thư bị từ chối. Tôi đã sử dụng mã tương tự để cái này câu trả lời:

:0
* ^(X-Original-To): [email protected]
{ EXITCODE=67 MÁY CHỦ= }

Tuy nhiên, hiện tại các email đang được gửi và không có thư bị trả lại nào được gửi đi.

tripleee avatar
lá cờ ar
Thực sự, với một lỗi đánh máy trong `EXITCODE`? Làm cách nào để bạn gọi chính xác Procmail, MTA nào, v.v.? Bạn có ví dụ về nhật ký gửi của Procmail không?
tripleee avatar
lá cờ ar
Công thức này nằm trong `.procmailrc` cá nhân của bạn hay trong `/etc/procmailrc`?
lá cờ tr
@tripleee Tôi không biết làm thế nào mà lỗi đánh máy đó lại xuất hiện ở đó. Nó ổn trong tệp, vì vậy tôi phải nhấn một phím hoặc thứ gì đó sau khi tôi dán nó vào đây. Ngoài ra, công thức này nằm trong tệp `.procmailrc` của người dùng.
tripleee avatar
lá cờ ar
Bạn vẫn gặp vấn đề này? Nếu vậy, vui lòng xem xét [chỉnh sửa] để cung cấp thêm chi tiết hoặc đăng câu trả lời của riêng bạn giải thích cách bạn giải quyết nó. Ở dạng hiện tại, điều này không có khả năng giúp ích cho khách truy cập trong tương lai và đơn giản là nên đóng cửa vì không thể tái sản xuất.
Điểm:1
lá cờ ar

Bên cạnh lỗi đánh máy rõ ràng trong nỗ lực của bạn, ví dụ của bạn hoạt động nếu tôi đưa công thức vào trang cá nhân của mình. .procmailrc.

Đây là bản demo nhanh trên Ubuntu trong bộ chứa Docker mới nơi tôi đã cài đặt Postfix, Procmail và Netcat và tạo tài khoản người dùng cho chính mình:

tripleee@0934b6a257c9:~$ mèo >.procmailrc
LOGFILE=/tmp/procmail.log

:0
* ^(X-Original-To): [email protected]
{ EXITCODE=67 MÁY CHỦ= }
^D
tripleee@0934b6a257c9:~$ nc localhost 25
220 0934b6a257c9 Hậu tố ESMTP (Ubuntu)
xin chào máy chủ cục bộ
250-0934b6a257c9
250-ĐƯỜNG ỐNG
KÍCH THƯỚC 250 10240000
250-VRFY
250-ETRN
250-BẮT ĐẦUTLS
250-MÃ TRẠNG THÁI NÂNG CAO
250-8BITMIME
250-DSN
250-SMTPUTF8
250 CHUYỆN
thư từ:<tripleee>
250 2.1.0 Được rồi
rcpt tới:<tripleee>
250 2.1.5 Được rồi
dữ liệu
354 Kết thúc dữ liệu với <CR><LF>.<CR><LF>
X-Original-To: [email protected]
chủ đề: đầu tiên

ai là người đầu tiên
.
250 2.0.0 Ok: xếp hàng là 608C329A304
từ bỏ
221 2.0.0 Tạm biệt
^C
tripleee@0934b6a257c9:~$ mèo /tmp/procmail.log 
Từ tripleee@0934b6a257c9 Thứ sáu ngày 4 tháng 3 11:50:59 2022
 chủ đề: đầu tiên
  Thư mục: 0
Từ MAILER-DAEMON Thứ Sáu, ngày 4 tháng 3 11:50:59, 2022
 Chủ đề: Thư chưa gửi bị trả lại cho người gửi
  Thư mục: /var/mail/tripleee 2267

Tuy nhiên, cùng một công thức trong /etc/procmailrc khiến tin nhắn vẫn được gửi đi; về cơ bản, MÁY CHỦ = nói bỏ qua hiện hành tập tin công thức, nhưng trong /etc/procmailrc, nghĩa là ngừng đọc tệp này và tiến hành phân phối cho người dùng.

Tôi chỉ có thể suy đoán rằng đó là vấn đề thực tế mà bạn đang gặp phải. Nếu bạn có thêm chi tiết, vui lòng chỉnh sửa câu hỏi của bạn để cung cấp cho họ.

Bên cạnh đó, dấu ngoặc đơn là không cần thiết và dấu chấm phải được thoát.

:0
* ^X-Original-To: username@example\.com
{ EXITCODE=67 MÁY CHỦ= }

Nếu bạn kích hoạt ghi nhật ký chi tiết với ĐỘNG TỪ = có bạn sẽ thấy rằng Procmail thực sự chỉ định MÁY CHỦ =} đó không thực sự là những gì tôi mong đợi, nhưng nó hoạt động (miễn là bạn CHỦ NHÀ không thực sự được đặt tên }!)

Cũng lưu ý cách tệp nhật ký hiển thị thư đến bị hủy và sau đó thư bị trả lại được gửi cho tôi (vì tôi là người gửi cũng như người nhận). Tuy nhiên, thư bị trả lại được tạo bao gồm văn bản (không rõ ràng) tiết lộ rằng địa chỉ người nhận thực sự tồn tại sau tất cả:

<tripleee@0934b6a257c9> (được mở rộng từ <tripleee>): người dùng không xác định

Bạn có thể phải khá quen thuộc với các thông báo bị trả lại Postfix để hiểu chính xác điều này có nghĩa là gì; về cơ bản nó nói rằng nó đã mở rộng ba người đến một địa chỉ email được mở rộng hoàn toàn có bao gồm tên miền, sau đó gửi đến địa chỉ đó đã tạo ra thông báo lỗi ở bên phải dấu hai chấm. (Dù tốt hay xấu, các thông báo bị trả lại của Sendmail vẫn còn mơ hồ hơn; nhưng chuyên gia thực sự về các thông báo lỗi khó hiểu, như mọi khi, là Microsoft.)

tripleee avatar
lá cờ ar
Và xin lỗi vì câu trả lời trước đó hơi thiếu chính xác về chi tiết này; Tôi đã cập nhật nó ngay bây giờ.
lá cờ tr
Câu trả lời rất dễ hiểu, tuy nhiên nó nằm trong tệp `.procmailrc` của tôi nên tôi không nghĩ rằng nó áp dụng cho mình. Có lẽ tôi cần thử kích hoạt ghi nhật ký như bạn có ở đây và xem những gì hiển thị.
tripleee avatar
lá cờ ar
Có lẽ xem thêm https://www.iki.fi/era/mail/procmail-debug.html
tripleee avatar
lá cờ ar
... và `sendmail -v` nếu bạn không thoải mái khi tự nói SMTP thô với máy chủ thư.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.