Làm thế nào để chuyển hướng tất cả các email postfix đến một địa chỉ email bên ngoài?


24

Để tạo một máy chủ email thử nghiệm, tôi có một yêu cầu tương tự như:

Cách chuyển hướng tất cả email gửi đi từ postfix đến một địa chỉ để kiểm tra

Nhưng tôi cần gửi tất cả các email đến một tài khoản bên ngoài, không phải địa phương.

Tôi muốn làm một cái gì đó như:

  • xyz: email @ gmail

nhưng xyz không phải là địa phương cũng không phải smtp.

Câu trả lời:


45

Tạo /etc/postfix/virtual-regexpvới nội dung sau:

/.+@.+/ email@gmail.com

Chỉnh sửa /etc/postfix/main.cfvà thêm regexp:/etc/postfix/virtual-regexpvào cấu hình virtual_maps. Kết quả cuối cùng có thể trông như thế này trong main.cf:

virtual_maps = hash:/etc/postfix/virtual, regexp:/etc/postfix/virtual-regexp

Xây dựng mapfile bằng cách gõ:

postmap /etc/postfix/virtual-regexp

Điều này cũng đòi hỏi một virtual.db để tồn tại. Nếu nó không tạo một tập tin trống gọi là ảo và chạy:

touch /etc/postfix/virtual && postmap /etc/postfix/virtual

Voila!


1
Cảm ơn Mattias Ahnberg vì câu trả lời của bạn, Làm thế nào về việc gửi nhiều thư đến máy có postfix được cài đặt với một địa chỉ email duy nhất (ví dụ gmail)? Tôi chỉ có thể nhận được 2-3 thư đầu tiên, phần còn lại bị trả lại.
postmaps

Có thể chuyển hướng tất cả thư được gửi đến localngười dùng (root, v.v.) đến một số địa chỉ bên ngoài và không chuyển hướng thư khác không? Tôi nghĩ rằng dấu hiệu nên được phủ định bằng cách nào đó
lưu vực

@basin Có vẻ như thay thế email @ gmail bằng root @ localhost sẽ làm điều đó, phải không?
dùng14645

Không, tôi đoán câu trả lời này: serverfault.com/questions/318426/ trên
lưu vực

Các bảng biểu thức chính quy được sử dụng như là, không có điểm nào trong việc chạy postmap trên chúng.
Joó Ádám

1

Vì điều này làm tôi mất một thời gian:

Nếu bạn muốn loại trừ các miền mục tiêu khỏi điều này, hãy thêm tiền tố vào quy tắc với

/.+@exclude1.com/ @exclude1.com
/.+@exclude2.com/ @exclude2.com
...

Để duy trì người nhận ban đầu, tôi thấy trang web ảo hơi khó hiểu về cách đạt được điều này.


-2

Có thể chấp nhận được chỉ cần chuyển đến một tài khoản cục bộ sau đó chuyển tiếp tất cả thư đến địa chỉ bên ngoài của bạn? Bạn có thể làm cho nó chạy giống như câu hỏi khác mà bạn đã đề cập, sau đó sử dụng procmail để chuyển tiếp các tin nhắn và sau đó xóa cục bộ. Một cái gì đó như thế này có thể sẽ thực hiện thủ thuật bằng cách thay thế thư mục bằng / dev / null.

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.