Thiết lập máy chủ Ubuntu để gửi thư ()


40

Tôi đã cố gắng tìm kiếm rất nhiều nhưng không thể tìm thấy cách thực sự thiết lập máy chủ Ubuntu, để tôi có thể gửi thư qua php bằng hàm mail () trong php.

Tôi đã cài đặt apache2, mysql và php5 trên máy chủ của mình.

Cảm ơn bạn.

Câu trả lời:


45

Tôi cũng đồng ý rằng thiếu hướng dẫn cho những người chỉ cần một tập lệnh để gửi, ví dụ như email lỗi và không cần một máy chủ thư đầy đủ.

Đầu tiên, nếu postfix chưa được cài đặt, hãy làm:

sudo apt-get install postfix

Nó nhắc với một vài câu hỏi. Lần đầu tiên tôi chọn "trang Internet"; đối với một máy phía sau tường lửa, tôi có thể chọn smarthost thay thế. Đối với câu hỏi thứ hai, nó mặc định là tên máy; Tôi đã thêm một tên miền mà tôi kiểm soát (vì vậy tôi có thể đặt DNS cho nó sau này, nếu tôi cần).

Tại thời điểm này, bạn sẽ có thể sử dụng "thư" từ dòng lệnh để gửi bài kiểm tra. (Trước tiên tôi thường làm theo hướng dẫn trên http://ubuntuforums.org/showthread.php?t=38429 , nếu không tôi phải sử dụng -fcờ để /usr/bin/sendmail. Tôi cũng muốn tạo /etc/aliasesbằng các mục cho root và người dùng bình thường của mình, sau đó chạy newaliases)

Sau đó, dưới /etc/php5/conf.d tạo một tệp (ví dụ: mailconfig.ini) với các nội dung sau:

sendmail_from = "me@example.com"
sendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"

Thay đổi me@example.com thành địa chỉ email của bạn. Chúng có nghĩa là tất cả các email sẽ trông giống như nó được gửi bởi bạn, điều này có thể giúp ngăn chặn nó bị từ chối. Điều này là đủ để chỉ gửi email lỗi cho một nhà phát triển.

(Các hướng dẫn trên được thử nghiệm trên Ubuntu 10.04, 11.04, 11.10, 12.04)

PS Như được chỉ ra bởi các bình luận, mailkhông phải lúc nào cũng có (ví dụ như trên Ubuntu 11.10, nó bị thiếu). Điều này thực sự không ảnh hưởng đến các hướng dẫn ở trên, bạn chỉ cần mailthử nghiệm và bạn có thể sử dụng sendmailtốt cho việc đó. Nhưng mailcũng hữu ích cho việc đọc email, vì vậy nó thường đáng để cài đặt nó, với: apt-get install mailutils(là root).


1
Cảm ơn! Điều này làm việc hoàn hảo. Đã thử nghiệm trên Ubuntu 12.04 LTS x64.
Trent Scott

Điều này giải quyết tìm thấy bằng cách sử dụng NGINX quá! Và PHP5-FPM
TheBlackBenzKid

1
Lưu ý trên máy chủ của tôi, mailtiện ích dòng lệnh không được cài đặt trên bản cài đặt Ubuntu sạch và cài đặt PostFix không cài đặt nó. Cố gắng sudo apt-get install mailutilsnhận maillệnh hoặc sử dụng các lựa chọn thay thế, chẳng hạn như Mutt, hoặcssmtp
đánh cắp

Tôi cần tuần để tìm ra rằng những thứ behinde sendmail_pathcó được trong "công việc một cách chính xác, giống nhưsendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"
Sliq

1
Cuối cùng! Một giải pháp đơn giản và thẳng tiến. Hoạt động trên Ubuntu 14.04.
Knyri

2

Bạn sẽ cần phải thiết lập máy chủ Ubuntu để có thể gửi thư ... làm ví dụ, bạn có thể cài đặt và định cấu hình postfix.

Tài liệu Ubuntu có một trang đẹp tại https://help.ubfox.com/community/MailServer


bất kỳ hướng dẫn bạn có thể liên kết với tôi?
Shishant

đã thêm một liên kết hướng dẫn
Dominik

1

Hoặc trải qua quá trình đau đớn khi thiết lập máy chủ thư trực tiếp trên máy chủ của bạn (postfix, v.v.) hoặc sử dụng thư viện cho phép bạn kết nối trực tiếp với máy chủ smtp.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.