Bỏ qua tới phần tài liệu
Cơ sở kiến thức

Quy tắc bạn tự viết

Điều kiện của riêng bạn, và điều sẽ xảy ra với bất cứ thứ gì khớp với chúng.

Chi tiết

  • Viết trong Cài đặt → Quy tắc, và qua REST API tại /rules, vốn được bật cho mọi không gian làm việc. Một quy tắc là một danh sách điều kiện áp lên thư đang tới và một danh sách hành động sẽ thực hiện với bất cứ thứ gì khớp: 100 quy tắc cho mỗi hộp thư, mỗi quy tắc chứa tối đa 20 điều kiện và 10 hành động. Đó là hàng rào chặn một script chạy vòng lặp chứ không phải giới hạn theo gói. Quy tắc thứ 101 bị từ chối kèm thông báo nói rõ, chứ không bị tính tiền.
  • Hai mươi mốt thứ mà một điều kiện có thể hỏi tới: địa chỉ From và tên miền của nó (trong đó khớp với example.com thì cũng bao gồm cả mail.corp.example.com), người gửi trong envelope SMTP, To, Cc, Bcc, người nhận bất kỳ, Reply-To, địa chỉ mà bản sao thực sự được chuyển tới sau khi đã bỏ thẻ cộng, tiêu đề, phần thân, một header bất kỳ được nêu tên, List-Id, tên, kiểu hay kích thước của một tệp đính kèm, việc có tệp đính kèm hay không, kích thước toàn bộ thư, kết luận về spam, và giờ cùng thứ trong tuần mà thư tới tính theo UTC. Việc khớp có thể là glob (* và ?), hoặc contains, equals, starts with, ends with, cùng lớn hơn và nhỏ hơn với bốn trường dạng số. Một mẫu phải tự mang trong nó hai ký tự chữ hoặc số, nên một dấu * trơ trọi sẽ bị từ chối ngay lúc bạn viết ra, thay vì khớp với mọi thư sẽ tới sau này.
  • Tất cả các điều kiện hoặc bất kỳ điều kiện nào, với một NOT đặt riêng cho từng cái. Không có lồng dấu ngoặc: (A and B) or C là hai quy tắc, và dù sao đó cũng là cách bạn đọc lại nó sau sáu tháng.
  • Mười một hành động: gắn nhãn, gỡ nhãn, lưu trữ, đánh dấu đã đọc, gắn sao, xếp vào spam, bỏ vào thùng rác, chuyển tiếp, tự động trả lời từ một mẫu, chặn người gửi, và từ chối thẳng thư đó. Các quy tắc chạy theo thứ tự bạn xếp, số nhỏ trước, và bất kỳ quy tắc nào cũng tắt được mà không cần xóa. Một quy tắc được đánh dấu dừng xử lý sẽ kết thúc lượt chạy, nên không có gì bên dưới nó được xét tới, và khi hai quy tắc cùng nêu tên một thư mục thì quy tắc sau thắng, vì một danh sách đánh số có nghĩa là như vậy.
  • Việc từ chối ngay tại cửa chỉ dựa trên envelope, còn ngoài ra thì bị từ chối ngay lúc bạn lưu quy tắc. Mã 550 sẽ do bên đã trao thư cho chúng tôi nhận lấy, và với một danh sách gửi thư thì bên đó là DANH SÁCH, vốn hiểu đó là một người đăng ký đang bị trả thư và hủy đăng ký của bạn khỏi thứ mà bạn chỉ muốn một người ngừng đăng bài. Một quy tắc khớp người gửi chỉ dựa trên header From sẽ xếp thư vào Spam, đúng như khi bạn chặn một người.
  • Tự động trả lời sẽ không đáp lại một cỗ máy. Nó bị chặn khi gặp Auto-Submitted, Precedence: bulk, list hoặc junk, một header List-Id hay List-Unsubscribe, X-Autoreply, X-Autorespond, và khi gặp envelope sender rỗng mà mọi thư trả lại đều mang. Ngoài ra, mỗi người gửi nhận tối đa một thư trả lời mỗi ngày. Hai hộp thư cùng có quy tắc trả lời mà không có hàng rào sẽ gửi thư qua lại cho nhau tới khi có ai đó phát hiện ra.
  • Một lần chuyển tiếp là một bản sao được dựng lại chứ không phải chính thư đã tới: nó đi qua đường gửi thư, nên chữ ký DKIM của người gửi không sống sót qua đó, các header khác thường và những phần lạ cũng vậy. Thư gốc đi kèm dưới dạng tệp đính kèm .eml để các header và đúng những phần đó vẫn còn nguyên để đọc, trừ khi nó vượt trần đính kèm 5MB, khi ấy bản chuyển tiếp vẫn đi với phần thân đọc được còn thư gốc ở lại trong hộp thư của chính bạn. Không có gì báo cho bạn biết điều đó đã xảy ra, và đó mới là phần đáng biết. Đích đến được kiểm tra khi bạn viết quy tắc, nhưng chỉ kiểm tra về hình thức: ops, hay ops@example không có dấu chấm, sẽ bị từ chối ngay lúc bạn viết chứ không phải thất bại một lần cho mỗi thư khớp về sau. Một lỗi gõ nhưng vẫn là địa chỉ hợp lệ ([email protected] thay cho [email protected]) thì vẫn được chấp nhận, và đích đến của một quy tắc không bao giờ bị yêu cầu tự xác nhận theo cách mà đích của một chuyển tiếp địa chỉ phải làm, nên bản sao sẽ đi đúng tới thứ bạn đã gõ.
  • Một quy tắc có thể được thử trước khi bật: chĩa nó vào ba mươi ngày gần nhất (tối đa một năm, tối đa 200 thư) và nó báo cáo những thư nào của chính bạn lẽ ra nó đã bắt và lẽ ra nó đã làm gì với chúng, mà không đụng vào thư nào cả. Chính bộ khớp chạy trên đường chuyển thư là bộ khớp trả lời câu hỏi đó, nhưng một thư đã lưu trữ không còn là thư mà SMTP đã trao. Envelope sender, bản đồ header, List-Id, địa chỉ mà thư được chuyển tới và kích thước trên đường truyền khi ấy đều đã mất, nên mười một trong hai mươi mốt trường trả lời khác đi trong một lần chạy thử hoặc không trả lời được gì cả, và hộp thoại nêu tên chúng ra chứ không âm thầm chấm chúng là không khớp. Trường hợp gắt nhất là một quy tắc từ chối ngay tại cửa: nó bắt buộc phải mang một điều kiện về envelope sender, mà không gì trong kho lưu trữ trả lời được điều kiện đó, nên bản xem trước báo là nó không khớp gì cả, dù trong thực tế nó sẽ từ chối bao nhiêu đi nữa.
  • Không có gì có hiệu lực hồi tố, và cố ý không có nút nào làm được điều đó. Áp một quy tắc lên cả một hộp thư bạn đã có là việc không có giới hạn, không hoàn tác được, và sẽ kéo mọi thư nó chạm tới trở lại đầu hộp thư đến. Quy tắc quyết định điều gì xảy ra với thư tới tiếp theo.
  • Những gì mỗi quy tắc đã làm được ghi lại theo từng thư (các hành động đã được áp dụng và, tách riêng, các hành động bị từ chối cùng lý do), nên cả “sao thư này lại nằm ở đây” lẫn “sao thư vắng mặt của tôi không trả lời cái đó” đều có câu trả lời. Nhật ký giữ lại tên của quy tắc, nên nó vẫn đọc đúng sau khi quy tắc bị đổi tên hoặc bị xóa.
  • Nó áp dụng cho mọi địa chỉ trên các tên miền của chính bạn, nên một quy tắc chạm tới mọi thứ tới nơi, chứ không phải được đưa ra ở nơi mà nó sẽ âm thầm chẳng làm gì.
  • Nếu bộ máy không trả lời được (một điều kiện đến từ client mới hơn, một cơ sở dữ liệu không phản hồi), thư vẫn được chuyển tới như lẽ ra nó phải thế và lỗi được ghi vào nhật ký. Một quy tắc ném lỗi là một thư không bao giờ tới nơi.