it-swarm-vi.com

Máy chủ SMTP đi nhẹ

Bạn sử dụng cái gì như một SMTP nhẹ chỉ dành cho e-mail gửi đi?

Tôi đang chạy một ứng dụng gửi e-mail qua SMTP khi các sự kiện xảy ra một lần và tôi không cần một máy chủ email đầy đủ tính năng.

EDIT: Tôi rất vui khi sử dụng một cái gì đó như postfix (và do), nếu đó là sự lựa chọn tốt nhất. Tôi đã nghĩ có thể có một cái gì đó đơn giản hơn nhiều, nó chạy ra khỏi hộp.

49
FlappySocks

Có một số lựa chọn về các tác nhân chuyển thư tối thiểu, chỉ chuyển tiếp (MTA hoặc "máy chủ thư"), một số trong số đó đã được đề cập trong các câu trả lời khác:

Để một trong hai hoạt động, bạn cần một MTA chính thức ở đâu đó sẽ tiếp tục chuyển tiếp thư của bạn (được gọi là "trung tâm thư") và chúng tôi khuyên bạn nên kiểm soát trung tâm thư này. Những điều tồi tệ ™ có thể xảy ra nếu không.

24
user601

IMHO, cách dễ nhất để làm điều này là với postfix. Bạn có thể cấu hình nó như một rơle phát sáng với các lệnh sau:

postconf -e relayhost=other.mailserver.com
postconf -e myorigin=my.domainname.com

Miễn là máy chủ SMTP được chỉ định trong relayhost không yêu cầu xác thực, cho phép bạn chuyển tiếp hoặc là đích đến hợp lệ cho địa chỉ người nhận, điều này sẽ hoạt động.

Tham số myorigin sẽ là tên miền mặc định. Vì vậy, nếu bạn gửi thư đến foo, nó sẽ chuyển đến [email protected] Thư được gửi bởi thanh người dùng sẽ từ [email protected]

Nếu bạn cần xác thực và muốn hỗ trợ TLS, hãy chạy các lệnh sau:

postconf -e smtp_tls_security_level=may
postconf -e smtp_sasl_auth_enable=yes
postconf -e smtp_sasl_password_maps=pcre:/etc/postfix/sasl_password_maps

Sau đó trong /etc/postfix/sasl_password_maps có nội dung này:

/./ username:password

Tất cả thư sẽ được gửi đến Relayhost của bạn với tên người dùng và mật khẩu được chỉ định.

11
bahamat

Giả sử bạn cần một chương trình bạn có thể chạy từ Shell như sendmail (8), có lẽ MSMTP sẽ phù hợp với nhu cầu của bạn? Nó có thể kết nối với một máy chủ SMTP từ xa và gửi thư mà nó nhận được dưới dạng stdin, giống như sendmail.

9

ESMTP là máy chủ chuyển thư chỉ chuyển tiếp có thể hoạt động cho ứng dụng của bạn.

4
moberley

Bạn có thể tìm thấy sSMTP phù hợp với nhu cầu của bạn. Đọc này bài viết về nó và những hạn chế của nó.

Thành thật mà nói, tôi sẽ không quá căng thẳng về việc cài đặt postfix hoặc exim, ngay cả khi nó chỉ để gửi email.

2
Evan

Nếu bạn sử dụng docker, https://hub.docker.com/r/zixia/simple-mail-forwarder/ là một lựa chọn tốt để triển khai dễ dàng và chỉ có kích thước 10MB, với smtp đầy đủ (tls ) ủng hộ.

2
Huan

Về mặt kỹ thuật, bạn không cần máy chủ email trên Máy chủ của mình, thứ bạn cần (và có thể đã có) là máy khách smtp (hoặc MUA) có thể kết nối với Máy chủ SMTP công ty của bạn (có thể là bất cứ nơi nào bạn có thể kết nối với .)

Tùy thuộc vào Ứng dụng (và ngôn ngữ lập trình được viết), có nhiều cách khác nhau để ứng dụng của bạn kết nối với 'Máy chủ SMTP trên mạng của bạn.

Thông thường, với PHP hoặc Python, có một tệp cấu hình với ứng dụng để chỉ định Máy chủ "SMTP" (có thể có trên Máy chủ của bạn hoặc ở nơi khác trên mạng của bạn.) Nếu bạn đã có thư Máy chủ trên mạng, sau đó chỉ điểm cấu hình đến máy chủ đó.

Nếu không có tùy chọn nào khác tồn tại, ứng dụng có thể tạo thông điệp email đến đầu ra tiêu chuẩn mà bạn có thể xử lý với nội dung như:

listoftarget = "[email protected] [email protected]" echo "Nội dung kiểm tra" | mail -s "Đối tượng thử nghiệm" $ listoft Target

Trên một số hệ thống, đã có một máy chủ thư tối thiểu chỉ gửi.

Sâm T.

1
samt