2011-01-20 45 views
9
  • Tôi đang phát triển một ứng dụng web với PHP 5.3.3.
  • Tôi muốn nó tự động gửi e-mail xác nhận.
  • Tôi chưa có tên miền.
  • Tôi đang sử dụng Windows XP.
  • Tôi không có gói Thư của PEAR.
  • Tôi có hMailServer và là máy chủ thư tôi muốn sử dụng để gửi e-mail.

Câu hỏi của tôi là:Các yêu cầu để gửi email bằng PHP là gì?

  1. Tôi có thể gửi e-mail mà không cần một tên miền? (Có cần thiết không? Tôi chỉ muốn kiểm tra đơn đăng ký cho thời điểm này.)
  2. Nếu tên miền là cần thiết, tôi có cần lưu trữ ứng dụng với Nhà cung cấp dịch vụ lưu trữ web không? Tôi có thể làm điều đó từ máy tính của mình không? (Hãy nhớ rằng, tôi chỉ muốn thử nghiệm đơn đăng ký.)
  3. Tôi có hoàn toàn cần gói thư của PEAR không? hoặc tôi có thể đơn giản sử dụng hàm mail()?

Tôi không biết nên làm gì. Tôi đã thực hiện nghiên cứu của mình, tôi hiểu các phần nhưng tôi không thể hiểu được toàn bộ, ý tôi là những nguồn lực nào là cần thiết và cách kết hợp chúng lại với nhau. Tôi chưa bao giờ phát triển bất kỳ ứng dụng nào gửi e-mail trước đây. Làm ơn giúp tôi.

Trả lời

2
  1. Có. Bạn có thể đặt địa chỉ "từ" của bạn thành bất kỳ thứ gì bạn muốn. (Mặc dù lưu ý, máy chủ người nhận có thể phát hiện nó đã được giả mạo và từ chối nó.)

  2. Bạn có thể lưu trữ từ máy tính, chỉ cần đảm bảo mạng của bạn không chặn cổng 25 ra.

  3. thư() một mình sẽ đủ miễn là bạn có một máy chủ SMTP cục bộ sẽ xử lý thư của bạn. (Tôi giả định đó là những gì sản phẩm hMailServer là.)

+0

Các vấn đề mà tôi đã có bfore là thư thậm chí không được chấp nhận cho dlivery, bây giờ nó được. Tất cả những gì tôi phải làm là thêm tiêu đề 'Từ:'. Tôi đã sử dụng addr Gmail của mình làm người nhận để thử nghiệm. Giả sử thư được gửi bcause hàm mail() trả về true.I không thể xác nhận nó vì tôi không có tên miền, vì vậy tiêu đề 'From:' mà tôi đã sử dụng chỉ là tên của tôi, và như bạn đã nói, có lẽ máy chủ người nhận đã từ chối nó, vì nó không xuất hiện dưới dạng spam. Tôi đã quyết định để có được một DN, tạo một địa chỉ mail với nó, và thử lại.Would có mail() chức năng trả về true nếu tôi không có SMTPserver? – ecantu

0
  1. Có, bạn có thể. Tôi tin rằng các email của bạn sẽ hiển thị với DNS của máy chủ theo mặc định, nhưng bạn có thể đặt tiêu đề from: thành bất kỳ thứ gì bạn muốn. Tuy nhiên, nếu bạn thay đổi tiêu đề from:, hãy cảnh báo rằng các email của bạn có thể bị các bộ lọc spam chọn lọc.

  2. Bạn cần một số cấu hình máy chủ đặc biệt để sử dụng hàm php mail() - Tôi chưa thử tự thiết lập, nhưng tôi biết rằng cài đặt apache/php cơ bản sẽ không có khả năng gửi email . Khá nhiều mỗi máy chủ web trả tiền nên có nó thiết lập đúng cách, mặc dù.

  3. No. Bạn có thể gửi email thông thường và html bằng hàm mail() chung.

+0

Tôi không hiểu phần này: "Tôi tin rằng các email của bạn sẽ hiển thị với DNS máy chủ của bạn theo mặc định". Tôi không có tên miền, vì vậy tôi không có DNS. – ecantu

+0

Nếu bạn sử dụng nhà cung cấp dịch vụ lưu trữ web, máy chủ chia sẻ của họ thường có một số dạng DNS, bất kể trang web của bạn có tên miền riêng hay không. –

1

Trước hết, nếu bạn đang chạy Windows như máy chủ của bạn, bạn cần phải cấu hình như thế nào e-mail của bạn sẽ được gửi (server SMTP). Chuyển đến phần này trong tệp php.ini của bạn. Thay đổi localhost thành máy chủ SMTP bạn có thể sử dụng từ mạng của mình (địa chỉ IP của máy chủ hMailServer HOẶC đôi khi bạn cần mua một máy chủ để sử dụng như http://www.smtp2go.com/).

 
[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = localhost 
; http://php.net/smtp-port 
smtp_port = 25 

Thứ hai, bạn sử dụng chức năng mail (...) trong php (bao gồm khả năng gửi thư HTML). Đó là nó.

+0

Tôi để 'localhost' vì địa chỉ của hMailServer là 'localhost'. Cảm ơn. – ecantu

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