Có cách nào để tôi có thể định cấu hình máy chủ WAMP cho PHP để kích hoạt mail()
chức năng này không?
Có cách nào để tôi có thể định cấu hình máy chủ WAMP cho PHP để kích hoạt mail()
chức năng này không?
Câu trả lời:
Việc định cấu hình một ứng dụng email khách đang hoạt động từ localhost là một việc khá vặt, tôi đã mất hàng giờ đồng hồ thất vọng để thử nó. Tôi chắc rằng ai đó có kinh nghiệm hơn có thể giúp đỡ, hoặc họ có thể đồng ý với tôi.
Nếu bạn chỉ muốn kiểm tra, đây là một công cụ tuyệt vời để kiểm tra thư cục bộ, hầu như không yêu cầu cấu hình:
http://www.toolheap.com/test-mail-server-tool/
Nó hoạt động hiệu quả đối với tôi, hy vọng điều này sẽ giúp bạn.
Cài đặt Sendmail giả (tải xuống sendmail.zip ). Sau đó cấu hình C: \ wamp \ sendmail \ sendmail.ini:
smtp_server=smtp.gmail.com
smtp_port=465
auth_username=user@gmail.com
auth_password=your_password
Cách trên sẽ hoạt động với tài khoản Gmail. Và sau đó cấu hình php.ini:
sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"
Bây giờ, khởi động lại Apache và về cơ bản đó là tất cả những gì bạn cần làm.
Sử dụng một chương trình mã nguồn mở gọi Gửi Thư , bạn có thể gửi qua wamp khá dễ dàng. Tôi vẫn đang thiết lập nó, nhưng đây là một hướng dẫn tuyệt vời của jo jordan . Mất chưa đầy 2 phút để thiết lập.
Chỉ cần thử nó và nó hoạt động như một sự quyến rũ! Một khi tôi bỏ ghi chú nhật ký lỗi và phát hiện ra rằng nó đang bị đình trệ khi xác thực pop3, tôi chỉ cần loại bỏ nó và nó đã gửi một cách tuyệt vời. May mắn nhất!
mail
, bạn sẽ nhận được email từ Google thông báo rằng nỗ lực đăng nhập đã bị chặn. Trong email đó, hãy nhấp vào "Kiểm tra hoạt động" và trong trang mở ra, hãy nhấp vào "Có, đó là tôi", sau đó nhấp vào "Tìm hiểu thêm", sau đó nhấp vào "Nếu" Quyền truy cập ứng dụng kém an toàn hơn "bị tắt đối với tài khoản của bạn ", sau đó nhấp vào" bật lại ", rồi bật nút chuyển.
from
tiêu đề khi gọi mail
trong PHP. Ví dụ, bạn có thể làm mail("to@example.com", "Subject", "Content", "From: youremailaddress@gmail.com")
(đó là tham số cuối cùng quan trọng).
Bạn cần một máy chủ SMTP để gửi thư của mình. Nếu bạn có sẵn một cái mà không yêu cầu xác thực SMTP (có thể là ISP của bạn?), Chỉ cần chỉnh sửa cài đặt 'SMTP' ([chức năng thư]) trong tệp php.ini của bạn.
Nếu đây không phải là tùy chọn vì máy chủ SMTP của bạn yêu cầu xác thực, bạn sẽ không thể sử dụng hàm mail () nội bộ và phải sử dụng một số lớp bên thứ 3 hỗ trợ xác thực smtp. ví dụ: http://pear.php.net/package/Mail/
Tôi đã thử Test Mail Server Tool và mặc dù nó hoạt động tốt nhưng bạn vẫn cần mở email trên một số ứng dụng khách.
Tôi đã tìm thấy Papercut : https://papercut.codeplex.com/
Để cấu hình, nó dễ dàng như Test Mail Server Tool (thực tế là zero-conf) và nó cũng hoạt động như một ứng dụng email, với các chế độ xem Thư (tuyệt vời cho email HTML), Headers , Body (để kiểm tra HTML) và Raw (đầy đủ email chưa phân tích).
Nó cũng có chế độ xem Phần , để phân chia các loại phương tiện khác nhau được tìm thấy trong email.
Nó có giao diện người dùng siêu sạch và thân thiện, trình xem nhật ký tốt và cung cấp cho bạn thông báo khi bạn nhận được email.
Tôi thấy nó hoàn hảo, vì vậy tôi chỉ muốn cho 2c của tôi và có thể giúp đỡ ai đó.
Sendmail không phù hợp với tôi nên tôi đã sử dụng msmtp 1.6.2 w32 và hầu hết chỉ làm theo hướng dẫn tại DeveloperSide . Dưới đây là tóm tắt nhanh về thiết lập cho hậu thế:
Đã bật quyền truy cập IMAP trong tài khoản Gmail của bạn (tài khoản msmtp đang gửi email từ đó)
Bật quyền truy cập cho các ứng dụng kém an toàn hơn . Đăng nhập vào tài khoản google của bạn và vào đây
Chỉnh sửaphp.ini
, tìm và thay đổi từng cài đặt bên dưới để phản ánh những điều sau:
; These are commented out by prefixing a semicolon
;SMTP = localhost
;smtp_port = 25
; Set these paths to where you put your msmtp files.
; I used backslashes in php.ini and it works fine.
; The example in the devside guide uses forwardslashes.
sendmail_path = "C:\wamp64\msmtp\msmtp.exe -d -C C:\wamp64\msmtp\msmtprc.ini -t --read-envelope-from"
mail.log = "C:\wamp64\msmtp\maillog.txt"
Tạo và chỉnh sửa tệpmsmtprc.ini
trong cùng thư mục với msmtp.exe
tệp của bạn như sau, thay thế nó bằng email và mật khẩu của riêng bạn:
# Default values for all accounts
defaults
tls_certcheck off
# I used forward slashes here and it works.
logfile C:/wamp64/msmtp/msmtplog.txt
account Gmail
host smtp.gmail.com
port 587
auth on
tls on
from ReplaceWithYourEmail@gmail.com
user ReplaceWithYourEmail@gmail.com
password ReplaceWithYourPassword
account default : gmail
msmtp-1.6.2-w32.zip
sourceforge.net/projects/msmtp/files/msmtp/1.6.2