2008-11-19 44 views
49

Tôi đang xây dựng một tập lệnh php khá đơn giản cần gửi một số email có tệp đính kèm. Tôi đã tìm thấy 2 thư viện này để làm điều này. Liệu một trong hai có lợi thế đáng kể so với khác? Hay tôi chỉ nên chọn một ngẫu nhiên và được thực hiện với nó?PhpMailer so với SwiftMailer?

+0

Answers được, quả thật vậy, một chút ý kiến ​​định hướng, nhưng cũng nghĩ ra OPI nions, và tôi đã thấy có giá trị, khi tôi đưa ra quyết định tương tự. Bởi số lượng upvotes, có vẻ như những người khác đã tìm thấy điều này cũng có giá trị. – Jahmic

+0

Một nửa số nội dung hữu ích nhất đối với tôi trên SO là "off-topic". Trên nhiều câu hỏi "đóng như chủ đề", tôi có thể thấy "đó là chủ đề không chính xác nhưng nó đã giúp tôi" loại bình luận. Có lẽ thay vì nhìn thấy năm người kiểm duyệt khác nhau nhảy vào một câu hỏi để đóng cửa, chúng ta có thể thấy họ bỏ phiếu cho việc thay đổi chính sách này? Câu hỏi này xứng đáng hơn bao nhiêu so với 98% các câu hỏi được đăng trên SO, giống như "có gì sai với mã này?" hoặc về cách đạt được một số nhiệm vụ cực kỳ cụ thể sẽ không bao giờ liên quan đến bất kỳ ai khác? – obe

Trả lời

48

Tôi sẽ nói rằng PHPMailer không còn được phát triển nữa và Swift Mailer là. Nhưng khi tôi googled ...

https://github.com/PHPMailer/PHPMailer

Điều đó cho thấy nó được làm việc trên một lần nữa.

Tôi đã sử dụng PHPMailer rất nhiều và nó luôn bền vững và đáng tin cậy. Gần đây tôi đã bắt đầu sử dụng Swift Mailer, vì lý do trên, và nó cũng đã cho tôi không gặp rắc rối.

Bây giờ PHPMailer được phát triển trở lại, tôi nghĩ tôi có thể sẽ thử phiên bản mới.

Vì vậy, câu trả lời của tôi là cả hai đều có khả năng và không quan trọng lắm - hãy chọn một, tìm hiểu, sử dụng nó. Cả hai cung cấp lợi thế lớn hơn mail() và trừu tượng đi các sắc thái của email để bạn có thể nhận được về với bất cứ điều gì bạn đang thực sự cố gắng để phát triển.

+3

PHPMailer đã chuyển sang GitHub ngay bây giờ. Liên kết mới https://github.com/Synchro/PHPMailer – Dracs

+5

Để rõ ràng (tôi là người duy trì), PHPMailer hiện hoạt động [trên github] (https://github.com/PHPMailer/PHPMailer) tại địa chỉ trong câu trả lời này, không phải là sourceforge cũ, repos mã google, hoặc ngã ba cá nhân của tôi (Synchro). – Synchro

9

Ngoài ra còn có Zend_Mail. Nếu tôi phải chọn một cho một dự án mới ngày hôm nay, tôi sẽ nghiêm túc xem xét điều đó.

+9

Có vẻ như bạn không thể tự mình sử dụng nó, tôi nghĩ bạn cần sử dụng toàn bộ thư viện zend có dung lượng hơn 6 MB được nén trong phiên bản tối thiểu. –

+1

Zend_Mail hoạt động rất tốt, nhưng có, đòi hỏi toàn bộ khung công tác là một loại dowside cho các dự án nhỏ nếu bạn không sử dụng Zend Framework. – MaxiWheat

+1

ZF Mail không yêu cầu bạn toàn bộ khung công tác 6mb. Một trong những tính năng tốt nhất của Zend Framework là bạn chỉ có thể sử dụng các lớp mà bạn cần. Tuy nhiên, bạn sẽ vẫn cần 10-20 tệp để bao gồm từ Zend. – divix

6

Tôi đã sử dụng PHPMailer trên nhiều dự án và chưa bao giờ gặp sự cố. Đó là tính năng hoàn chỉnh và nó có tài liệu tốt.

Tôi chưa bao giờ nghe nói về Swiftmailer nên tôi đã xem qua trang web. Nó có vẻ là một giải pháp tốt đẹp quá.

Nếu nhu cầu của bạn đơn giản như bạn nói, thì chỉ cần chọn một cách ngẫu nhiên.

7

Đã xem xét cả hai tôi nghĩ SwiftMailer có giao diện đẹp hơn PHPMailer và vì ai đó đã chỉ ra Zend_Mail cũng là một lựa chọn tốt khác, đặc biệt nếu bạn đang sử dụng các thành phần Zend khác. Nó làm cho cuộc sống dễ dàng hơn nhiều nếu bạn sử dụng mọi thứ từ cùng một khung công tác.

+0

Chủ đề này cũng có thể hữu ích: http://forums.phplist.com/viewtopic.php?t=8270 –

4

Tôi vừa chuyển sang Swift ngay hôm nay do các vấn đề với PHPMailer và PHP 5.3 - thậm chí phiên bản mới nhất - đó là một sự xấu hổ. Swift có tích hợp tài liệu rất tốt, giúp mọi việc dễ dàng hơn.

4

Google trends: swiftmailer is growing but phpmailer is still very strong.

Tôi sẽ sử dụng Swiftmailer vì tài liệu rõ ràng và dễ dàng. Trang web/tài liệu của Phpmailer hơi lộn xộn (ít nhất là chúng trông như vậy).


EDIT: sau khi thử cả hai (và đập đầu của tôi đối với một vấn đề lưu trữ mà SwiftMailer không ra bất kỳ loại hình gợi ý) Tôi hoàn toàn thay đổi suy nghĩ của tôi, Tôi chắc chắn sẽ đi với PHPMailer ít nhất một lý do chính đáng: nó dễ dàng hơn để gỡ lỗi trong trường hợp bạn có bất kỳ vấn đề nào.

Cả SwiftMailer và PHPMailer đều cung cấp các tùy chọn gỡ lỗi (SwiftMailer với plugin và PHPMailer bằng cách bật SMTPDebug = 2), nhưng SwiftMailer được tạo bởi hàng trăm tệp nhỏ khiến SwiftMailer khó gỡ lỗi hơn so với 3 tệp PHPMailer.

Và về tài liệu, các PHPmailer documentation ít ưa thích tìm kiếm, nhưng nó đã có tất cả các bạn cần: simple tutorial, examples

+0

Hầu hết các liên kết PHPMailer ở trên đều lỗi thời - bây giờ bạn nên [bắt đầu tại đây] (https://github.com/PHPMailer/PHPMailer). – Synchro

+0

@Synchro: Tôi đã cập nhật các liên kết, lần sau cảm thấy tự do để chỉnh sửa câu trả lời của tôi và tự khắc phục sự cố. –

+1

> SwiftMailer được tạo bởi hàng trăm tệp nhỏ khiến SwiftMailer khó gỡ lỗi hơn so với 3 tệp PHPMailer được tạo thành. Lý do khủng khiếp. số lượng tệp không phải là yếu tố quyết định về việc sử dụng thư viện hoặc gỡ lỗi khi gỡ lỗi không liên quan đến việc sử dụng các tệp, điều đó liên quan đến việc thực hiện bước qua luồng thực thi. – MrMesees

24

Dù tính năng này, họ có sự đa dạng trong giấy phép áp dụng của họ:

PHPMailer - LGPL 2,1 (https://github.com/PHPMailer/PHPMailer)

SwiftMailer - MIT giấy phép (https://github.com/swiftmailer/swiftmailer)

+2

Tôi có thể biết tại sao tôi bị bỏ phiếu không? Có sự khác biệt lớn về cấp phép khi chúng tôi muốn sử dụng một trong số đó cho dự án phân phối của chúng tôi. –

+6

IMO bỏ phiếu xuống vô danh dường như không có cơ sở - đây là một điểm tốt. Nhưng nghĩ rằng bài đăng sẽ có giá trị hơn nếu bạn có thể chỉ ra bất kỳ sự khác biệt quan trọng giữa hai giấy phép ...? –

+8

Sự khác biệt lớn của ai đó là: LGPL là "lây nhiễm", có nghĩa là nếu bạn sử dụng nó, bạn có nguy cơ phải (L) GPL công việc của riêng bạn. GPL (và, tùy thuộc vào hoàn cảnh, LGPL) thực tế loại trừ việc sử dụng trong một dự án nguồn đóng. MIT là giấy phép "Có thể làm bất cứ điều gì", làm những gì bạn muốn với mã của tôi ngoại trừ giả vờ rằng mã của bạn là của bạn –

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