VPS của tôi đang chạy Ubuntu và tôi muốn có thể nhận email đến tên miền của mình.
Làm thế nào để tôi dễ dàng thiết lập một máy chủ thư để làm điều này?
VPS của tôi đang chạy Ubuntu và tôi muốn có thể nhận email đến tên miền của mình.
Làm thế nào để tôi dễ dàng thiết lập một máy chủ thư để làm điều này?
Câu trả lời:
Đây là cách tôi đã thiết lập thư trên các máy sản xuất của chúng tôi. Đây là những tiêu chí mà chúng tôi cần:
Đầu tiên, tôi muốn giải quyết những gì có vẻ là giải pháp dễ nhất .
sudo tasksel install mail-server
Một số vấn đề xảy ra khi chúng tôi thử điều này: Đầu tiên, nó cài đặt Dovecot, điều này tốt cho hầu hết, nhưng chúng tôi coi Courier là tốt hơn cả hai cho nhu cầu của chúng tôi . Thứ hai, nó sử dụng Postfix rất tốt nhưng chúng tôi cũng cần Exim vì đây là máy chủ MTA / SMTP mạnh hơn. Thứ ba, nó cài đặt MySQL - trong cấu hình tôi sử dụng, chúng tôi thích các tệp phẳng hơn cho cấu hình vì nó là một điểm ít phá vỡ hơn. Hãy nghĩ điều gì sẽ xảy ra nếu MySQL bị sập vì một lý do không xác định. Mặt khác, các gói còn lại khá dễ dàng và dễ bảo trì cho một dịch vụ thư nhỏ (nghĩ tổng số 1-2 tên miền email).
Chúng tôi đi lạc một chút bên ngoài đường dẫn của cấu hình bình thường nhưng nó giúp quản lý dễ dàng hơn.
Tất cả các thư của chúng tôi được lưu trữ trong /var/mail/virtual/<domain>/<user>/mail
Vì vậy, ví dụ tương lai tôi sẽ được sử dụng email@example.com
, fwd@example.com
, foo@example.com
đại diện cho một địa chỉ email, một ngành giao để đi đến example@gmail.com
, và một địa chỉ xấu tương ứng. Trong ví dụ trên nó sẽ là /var/mail/virtual/example.com/email/mail
.
Tôi cũng duy trì một danh sách tất cả các tên miền trên máy chủ /etc/valiases
nhưng sẽ nói thêm về điều đó sau.
Đây ít nhiều là phần dễ dàng của thiết lập. Chỉ cần cài đặt postfix
gói.
Cài đặt Exim với apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy
Sau khi cài đặt, bạn cần chỉnh sửa cấu hình mặc định exim để thay thế hoặc thêm các giá trị sau:
domainlist local_domains = @:localhost:dsearch;/etc/valiases:dsearch;/var/mail/virtual
daemon_smtp_ports = smtp : 587 : 465
MAIN_TLS_ENABLE = yes
(Những dòng này sẽ xuất hiện trong các phần khác nhau của tệp, thay thế từng dòng tương ứng)
Khi đã hoàn tất, hãy xây dựng lại cấu hình exim với update-exim4.conf
Điều này kết luận các thay đổi cần thiết cho Exim
Cài đặt Courier với courier-base
điều này nên cài đặt courier-authdaemon
, courier-authlib*
, courier-imap*
, courier-pop*
, courieruserinfo
,courier-ssl
Thành thật không có nhiều cấu hình ngoài tiêu chuẩn. Bạn sẽ chỉ cần tạo một cơ sở dữ liệu người dùng.
Exim và Courier kiểm tra một vài nơi để xem liệu đăng nhập hoặc email đến có hợp lệ không. Exim kiểm tra xem tên miền có được liệt kê dưới dạng tên máy chủ cục bộ không, hoặc nếu tên miền nằm trong /var/mail/virtual
hoặc nếu tên miền nằm trong /etc/valiases
.
Cuối cùng tôi đã tạo ra một số công cụ để hợp lý hóa quy trình này - nhưng việc thêm một người dùng mới sẽ điều chỉnh:
mkdir -p /var/mail/virtual/example.com/email
chown -R mail.mail /var/mail/virtual/example.com/
maildirmake /var/mail/virtual/example.com/email/mail
chown -R mail.mail /var/mail/virtual/example.com/
Sau đó thêm địa chỉ vào chuyển phát userdb - để họ có thể đăng nhập
userdb email@example.com set uid=8 gid=8 home=/var/mail/virtual/example.com/email mail=/var/mail/virtual/example.com/email/mail
Đảm bảo thay thế các giá trị khi thích hợp. Ngoài ra - uid
và gid
cần phải là id người dùng / nhóm số cho người dùng thư.
userdbpw -md5 | userdb email@example.com set systempw
Điều này sẽ nhắc bạn nhập mật khẩu, nhập mật khẩu bạn muốn sử dụng cho tài khoản.
makeuserdb
Cuối cùng, tạo các tệp băm / bóng userdb. Khởi động lại Courier và kiểm tra nếu thay đổi của bạn hoạt động:
authtest email@example.com
Nên sản xuất một cái gì đó tương tự như
Authentication succeeded.
Authenticated: email@example.com (uid 8, gid 8)
Home Directory: /var/mail/virtual/example.com/email
Maildir: /var/mail/virtual/example.com/email/mail
Quota: (none)
Encrypted Password: $1$LOLCATS$THISWILLBEAHASH.
Cleartext Password: (none)
Options: (none)
Nếu bạn thấy "FAILED xác thực: Không cho phép thao tác" thay vào đó hãy chỉnh sửa / etc / chuyển phát nhanh / authdaemonrc và thêm authuserdb vào dòng authmodulelist.
Sau khi tất cả các kiểm tra đã được xác nhận, hãy khởi động lại các dịch vụ khác nhau có liên quan ( courier-authdaemon
, exim4
), mở các cổng 143, 25, 586, 495, 110 và thiết lập các tài khoản trong ứng dụng thư khách yêu thích của bạn.
Đối với mỗi tên miền, bạn nên tạo một tệp trong /etc/valiases
(tạo nếu nó không tồn tại) với ít nhất dòng sau:
*: :fail: No user at this address.
Điều này nói gì: Nếu thư đến không khớp với bất kỳ tài khoản email nào tôi có trong hồ sơ - thì thư đó sẽ bị lỗi và bị trả lại với một thông báo: "Không có người dùng tại địa chỉ này". Vì vậy, tất cả các thư được gửi để nói: foo@example.com
sẽ bị trả lại là một thất bại.
Tuy nhiên, chúng tôi có một vài địa chỉ email mà chúng tôi muốn duy trì ở nơi khác - giả sử example@gmail.com - để làm như vậy, chúng tôi cần tạo /etc/valiases/example.com
và nội dung của tệp phải như sau:
fwd: example@gmail.com
*: :fail: No user at this address.
Theo cách đó, mặc dù fwd@example.com không khớp với bất kỳ tài khoản email nào trên máy chủ, nhưng nó khớp với /etc/valiases
tệp và thư sẽ được chuyển tiếp tới example@gmail.com - Tuy nhiên, foo@example.com vẫn sẽ thất bại với một thông báo "Không có người dùng tại địa chỉ này".
Cách dễ nhất là chạy sudo tasksel install mail-server
. Điều đó sẽ cung cấp cho bạn một máy chủ email với mặc định lành mạnh. Tất cả bạn phải làm, là trả lời một vài câu hỏi. Rõ ràng, sau đó bạn vẫn có thể thực hiện các cấu hình thủ công nếu điều đó là cần thiết, nhưng trong hầu hết các trường hợp, điều đó sẽ không xảy ra. Chỉ cần làm theo các hướng dẫn trên màn hình và bạn sẽ ổn thôi.
Đọc lên quản trị dịch vụ email là hoàn toàn khuyến khích mặc dù.
Tài liệu tham khảo chính thức:
sudo tasksel --task-packages mail-server
Tôi không có "câu trả lời tuyệt vời" nhưng bạn có thể thấy các liên kết này hữu ích https://help.ubfox.com/community/PostfixBasicSetupHowto#Receiving Mail và https://help.ub Ubuntu.com/community/Postfix
Chỉ cần làm điều này một mình, bạn thực sự cần postfix, và trong trường hợp của tôi, tôi cũng muốn một máy chủ imap để tôi có thể sử dụng một máy khách gui đẹp (không đề cập đến bất kỳ tên nào) trên một máy khác. Tôi đã sử dụng các tài liệu này:
Dovecot (imap và pop3)
Nó thực sự khá đơn giản, đã có nó và chạy trong vài phút và nhận được e-mail. Điều này cũng hữu ích để kiểm tra xem mọi thứ có được thiết lập khả năng ping hay không .
Ồ, và tất nhiên bạn sẽ phải thiết lập chính xác các mục nhập dns của mình như bên dưới (dựa trên các cài đặt phù hợp với tôi):
name type content
@ A ???.???.??.??
mail A ???.???.??.??
và
MX Records
Name Priority
mail.mydomain.com. 1
mail2.mydomain.com. 2
Lưu ý dừng hoàn toàn ở cuối máy chủ thư và chèn địa chỉ IP và tên miền của bạn nếu thích hợp.