Làm cách nào để định cấu hình postfix để loại bỏ tất cả email sang một tên miền và chuyển tiếp tất cả các email khác?


9

Tôi cần thiết lập postfix trong môi trường phát triển / thử nghiệm để lọc e-mail để chúng tôi không spam khách hàng của mình. Trong môi trường thử nghiệm của chúng tôi, chúng tôi sẽ xóa tất cả dữ liệu người dùng để thay đổi địa chỉ email thành @localhost, mặc dù một số địa chỉ có thể được thay đổi thành địa chỉ email hợp lệ vào thời điểm sau đó cho mục đích thử nghiệm. Chúng tôi chuyển tiếp tất cả email của mình thông qua nhà cung cấp bên thứ ba để gửi, vì vậy điều tôi muốn làm là thiết lập postfix thành:

  1. Ném ra bất kỳ e-mail được gửi đến localhost
  2. Chuyển tiếp tất cả e-mail còn lại đến nhà cung cấp bên thứ ba của chúng tôi.

Là tương đối mới đối với postfix, cách dễ nhất để thiết lập này là gì?

Câu trả lời:


8

Vâng, tôi dường như đã xoay sở để tìm ra điều này với một chút tìm kiếm và thử nghiệm. Đây là những gì tôi phải làm:

  • Trong /etc/postfix/main.cf:

    transport_maps = hash:/etc/postfix/transport
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = static:<relayhost username>:<relayhost password>
    smtp_sasl_security_options = noanonymous
    smtp_tls_security_level = may
    start_tls = yes
    
  • Trong / etc / postfix / Transport:

    localhost discard: 
    localhost.localdomain discard:
    * relay:[smtp.relayhost.com]:587
    

Chuyển tiếp rõ ràng cũng bỏ qua chỉ thị alias_maps, vì vậy để các bí danh tiếp tục hoạt động, tôi đã phải nhận xét cả alias_maps và alias_database và thay thế chúng bằng virtual_alias_maps. Định dạng của virutal_alias_map giống với alias_maps, vì vậy đó là một thay đổi dễ thực hiện.

Với những thay đổi này, chỉ cần khởi động lại postfix và cũng chạy "postmap / etc / postfix / Transport" để xây dựng Transport.db. Bây giờ mọi thứ được gửi đến @localhost hoặc @ localhost.localdomain đều bị loại bỏ trong khi mọi thứ khác được chuyển tiếp qua máy chủ được chỉ định.


1
Đây không phải là câu trả lời cho câu hỏi của OP, nhưng trên một lưu ý liên quan, đây là những gì tôi đã làm để vứt bỏ tất cả thư gửi đi trên một bản sao tạm thời của hộp prod: 1. Mở /etc/postfix/main.cf2. Thêm default_transport = discard:Outgoing email disabled on this node3. Khởi động lại Postfix: service postfix restart* a reloadcó thể là đủ
deoren
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.