2009-08-25 27 views
19

Một ứng dụng đường ray trong sản xuất nên sử dụng smtp hoặc sendmail để gửi thư?Sendmail vs SMTP

+1

smtp là giao thức chứ không phải chương trình. – OTZ

Trả lời

6

Câu hỏi của bạn không chính xác - SMTP là viết tắt của Simple Mail Transfer Protocol trong khi sendmail là phần mềm để gửi thư bằng giao thức này.

Sử dụng sendmail.

36

SMTP là giao thức được gần như tất cả các máy chủ Internet sử dụng để gửi thư. Giao thức này được gửi bởi sendmail. Sendmail xác định nơi gửi tin nhắn của bạn và cách thức.

Một số chương trình thư (đa số, hôm nay) sẽ kết nối trực tiếp với máy chủ thư và nói SMTP với nó. Tuy nhiên, phương pháp "truyền thống" - và cho là phương pháp tốt hơn - là để cho sendmail làm điều đó.

Có hai lý do cho điều này: 1) gần như mọi chương trình trong UNIX thực hiện những gì sendmail thực hiện được thiết kế để thay thế thả (bao gồm PostfixExim ví dụ); và 2) sendmail hoặc thay thế của nó được thiết kế để xử lý thư và không có gì khác - bằng cách sử dụng sendmail bạn không phải thiết kế một ứng dụng khách SMTP.

Trình khách email Mutt cho UNIX là một ứng dụng email vẫn từ chối nói trực tiếp SMTP với máy chủ thư; một mô tả (kỹ thuật) tốt là trên wiki.

Nếu bạn có lựa chọn (trên UNIX anyway) đang nói SMTP trực tiếp hoặc sử dụng sendmail, hãy sử dụng sendmail - đặc biệt là trên máy chủ.

+0

không có sendmail trong cửa sổ mặc dù ... hmm ... – rogerdpack

5

Cả hai đều sẽ hoạt động tốt. Action Mailer hỗ trợ cả hai.

Tôi đã sử dụng SMTP trên một số dự án thành công. Ý thức của tôi là cái này "tiêu chuẩn" hơn một chút, nhưng tôi có thể sai.

Tôi chưa sử dụng sendmail. Mối quan tâm của tôi sẽ là khó có thể thiết lập trong môi trường phát triển nếu bạn không phát triển trực tiếp trên Unix/Linux. Nơi bạn có thể nói chuyện trực tiếp với bất kỳ máy chủ SMTP nào - ngay cả một máy chủ từ xa - bạn sẽ phải cài đặt sendmail trên máy đường ray để làm cho nó hoạt động.

Vấn đề chính tôi gặp phải với email đang gửi thư không đồng bộ. Nếu không có một máy chủ SMTP cục bộ, một cá thể sendmail cục bộ sẽ có hiệu suất cao hơn.

Dù bằng cách nào, có vẻ khá dễ dàng để chuyển đổi nếu bạn quyết định bạn đã chọn sai.

7

Như NDP đã đề cập, cả hai đều hoạt động tốt - nghĩa là nếu khối lượng thư của bạn không vượt quá một số tiền nhất định. Ví dụ: nếu ứng dụng của bạn có thể nói SMTP với máy chủ SMTP cục bộ (trên 127.0.0.1 IP, Cổng 25) hoặc máy chủ trong cùng một mạng con (ví dụ: qua liên kết độ trễ thấp) và máy chủ đó không sử dụng bất kỳ bộ lọc nội dung nào trước khi nó xếp hàng đợi một thư, bạn thường có thể gửi nhiều thư hơn qua SMTP trong một thời gian ngắn hơn.

Một liên kết hữu ích cho Postfix có thể General Mail Delivery Performance Tips - lưu ý các báo nói

Gửi mail thông qua SMTP thay vì/usr/sbin/sendmail.

Tuy nhiên, trên phần cứng hiện đại, nếu bạn không định gửi nhiều hơn 10 thư mỗi giây, bạn không nên nhận thấy bất kỳ sự khác biệt thực sự nào.

Các vấn đề liên quan