Computer >> Máy Tính >  >> Phần mềm >> Thư

Cách sử dụng Dịch vụ Email Đơn giản của Amazon (SES) để thay thế máy chủ email dựa trên máy chủ của bạn

Một ngày đẹp trời, không vì lý do rõ ràng nào, máy chủ doanh nghiệp Ubuntu 18.04 của tôi đã ngừng chuyển tiếp thư đến địa chỉ Gmail của tôi.

Chỉ một ngày trước đó, các tệp .abol tôi đã tạo trong thư mục chính của các tài khoản máy chủ cục bộ mà tôi sử dụng cho email - như /home/office/.osystem - đã vui vẻ chuyển hướng tất cả thư nhắm đến địa chỉ doanh nghiệp của tôi đến hàng ngày của tôi -sử dụng tài khoản Gmail. Và sau đó họ đột ngột dừng lại.

Khi tôi nhận thấy có điều gì đó không ổn, tôi ngay lập tức tham khảo nhật ký máy chủ của mình. /var/log/mail.err đã gửi ra những thông điệp quyến rũ bao gồm những thứ như:

status=deferred (delivery temporarily suspended: connect to alt2.gmail-smtp-in.l.google.com[219.8.202.27]:25: Connection timed out)

Kiểm tra hộp thư máy chủ cho tôi biết rằng có thư đến nhưng Postfix đó không thể thiết lập kết nối với Gmail để chuyển tiếp thư đến địa chỉ của tôi.

Đương nhiên, tôi khởi động lại Postfix, nhưng điều đó không giúp được gì.

sudo systemctl restart postfix

Tôi xác nhận rằng không có gì chặn thư đi rời khỏi máy chủ của tôi trên cổng 25 (SMTP). Sau đó, tôi đã kiểm tra để đảm bảo rằng miền của tôi không bị đưa vào danh sách đen bằng cách nào đó (có rất nhiều công cụ trực tuyến sẽ làm điều đó cho bạn) và xem xét trạng thái của các bản ghi MX của tôi bằng cách chạy đào từ dòng lệnh:

dig MX bootstrap-it.com

Không có gì làm. Mọi thứ dường như đã kiểm tra.

Sau một vài phiên khắc phục sự cố khó chịu, tôi đã từ bỏ và nghĩ rằng tôi sẽ thử một cái gì đó hoàn toàn khác.

Là một kiến ​​trúc sư giải pháp AWS và đã đồng tác giả hai cuốn sách cho Wiley / Sybex trên AWS (một cuốn hướng dẫn cho kỳ thi Học viên đám mây và một cuốn cho kỳ thi Liên kết kiến ​​trúc sư giải pháp), tôi không nên sẵn sàng và có thể xây dựng ngăn xếp của riêng mình trong số các công cụ AWS sẽ xử lý nhu cầu máy chủ email của tôi trên đám mây?

Hóa ra là tôi đã sẵn sàng và - sau một số nghiên cứu nghiêm túc và thử và sai - có thể. Để hoàn thành nó sẽ yêu cầu:

  • Tạo một nhóm S3 nơi các email đến sẽ được lưu trữ.
  • Tạo chủ đề Dịch vụ thông báo đơn giản (SNS) để gửi thông báo qua email cho tôi mỗi khi có email mới.
  • Định cấu hình Dịch vụ Email Đơn giản (SES) của Amazon để tiếp quản miền email của tôi (bootstrap-it.com) và xử lý thư đến. Điều đó liên quan đến việc thêm bản ghi MX vào Lộ trình 53 (nơi các miền của tôi được quản lý) và trỏ SES đến miền của tôi; thêm và xác minh từng địa chỉ email mà tôi muốn SES kiểm soát; và sau đó yêu cầu SES gửi tin nhắn mới đến nhóm S3 của tôi đồng thời kích hoạt cảnh báo cho chủ đề SNS.
  • Giả sử bạn cũng muốn gửi email thông qua dịch vụ, bạn cũng nên định cấu hình SES để ký vào các thư gửi đi của bạn bằng cách sử dụng Thư được nhận dạng DomainKeys (DKIM).

Tôi sẽ không mô tả chi tiết tất cả các bước đó ở đây. Có rất nhiều tài liệu tuyệt vời có sẵn cho điều đó. Nhưng tôi sẽ đề cập ngắn gọn một số điểm đau mà bạn có thể gặp phải.

Bạn sẽ phải thêm bản ghi MX vào vùng được lưu trữ DNS của mình cho từng miền bạn đang sử dụng. Ngay cả khi miền của bạn được quản lý trong Lộ trình 53 của Amazon, bạn sẽ cần cung cấp giá trị cho hồ sơ của mình.

Những gì bạn sử dụng cho giá trị đó sẽ phụ thuộc vào khu vực AWS nơi tài nguyên SES của bạn được đặt. Trong trường hợp của tôi, nó trông như thế này:

10 inbound-smtp.us-east-1.amazonaws.com

Thông báo SNS sẽ đến dưới dạng một chuỗi văn bản dài chỉ chứa một vài đoạn ngắn thông tin hữu ích nhưng khó đọc. Như vậy là đủ để xác định thư rác, nhưng bạn thường cần nhiều thông tin hơn những gì bạn tìm thấy ở đây. Tôi sử dụng các thông báo như một cảnh báo cho tôi biết rằng có thư mới trong nhóm S3 của tôi.

Tự xem các email trong nhóm S3 của bạn qua Bảng điều khiển quản lý AWS không phải là ngày tận thế nếu nó chỉ diễn ra một hoặc hai lần mỗi tháng. Nhưng nếu họ đến nhanh hơn mức đó, bạn sẽ cần phải tìm cách tốt hơn để truy cập và đọc tin nhắn của mình.

Tuy nhiên, việc tạo ra một giao thức để tự động hóa quá trình đó thực sự là một vấn đề của hệ điều hành cục bộ đòi hỏi một bộ công cụ hoàn toàn khác. Tôi đã giải quyết vấn đề cho chính mình bằng cách sử dụng AWS CLI và một tập lệnh Bash thú vị. Nếu bạn muốn xem cách tôi đã làm điều đó, hãy nhấp qua bài viết này.

Có nhiều tính năng quản trị tốt hơn dưới dạng sách, khóa học và bài báo có sẵn tại bootstrap-it.com của tôi.