Định cấu hình máy chủ WAMP để gửi email


Câu trả lời:


205

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.


16
Hoạt động với wamp mà không cần cấu hình. Chỉ cần mở .eml bằng thư trực tiếp của windows (không cần cấu hình).
Benjamin Crouzier

5
Nếu (giống như tôi) bạn tìm đến giải pháp tuyệt vời này sau khi tinh chỉnh php.ini, hãy nhớ cấu hình mặc định: [chức năng mail] SMTP = localhost smtp_port = 25
BenL

2
Hoạt động tuyệt vời đối với tôi khi sử dụng WAMP 4 trên Win10. Cảm ơn Wesley!
nickstaw

4
để bất cứ ai không tìm thấy liên kết tải xuống đi tới ở đây: toolheap.com/test-mail-server-tool/users-manual.html
SolidSnake

3
Đối với những người muốn tải về này mà không cần vô hiệu hóa adblock, đây là link download: toolheap.com/test-mail-server-tool/TestMailServerToolSetup.exe
Donald Duck

44

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.


3
+1 cho giải pháp chìa khóa trao tay. Là một nguồn bổ sung cho những người cần một chi tiết nhỏ hơn trên bước sau: blog.techwheels.net/...
Prusprus

@gianjey Tính năng này sẽ hoạt động với các tài khoản khác như Hotmail hay bạn cần đăng ký tài khoản Gmail để sử dụng?
Ryman Holmes

1
dang phương pháp này dường như không hoạt động nữa ... giả sử tôi đã thiết lập mọi thứ một cách chính xác
Cấm

Xin chào @Banning, tôi đã có thể thiết lập điều này mà không gặp khó khăn gì ngay bây giờ nên nó vẫn hoạt động. Đảm bảo rằng bạn chưa định cấu hình xác thực hai bước trên tài khoản GMail. Dù sao, đây là một hướng dẫn tốt - blog.techwheels.net/…
faludi

1
Cant tin rằng điều này làm việc đầu tiên thử !!! quá đỗi kinh ngạc. Chỉ có một phần làm tôi bối rối là, nếu bạn đang sử dụng gmail, bạn cần nhập tên người dùng và mật khẩu gmail của mình để nó có thể đăng nhập vào ứng dụng email để GỬI email. LƯU Ý: nếu bạn định làm điều này, hãy tạo một tài khoản gmail mới vì điều này làm tăng nguy cơ rủi ro bảo mật.
William Howley

5

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!


Nếu đang sử dụng tài khoản Gmail, bạn cần cấp quyền truy cập cho các ứng dụng kém an toàn hơn. Để làm điều này, khi bạn đã thực hiện những gì được nói trong hướng dẫn được liên kết trong câu trả lời này và mở trang PHP 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.
Vịt Donald

Ngoài ra, bạn phải chỉ định fromtiêu đề khi gọi mailtrong 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).
Donald Duck

2

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/


1

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 đó.


1

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.exetệ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

Tôi không thể cài đặt msmtp trên windows. Tôi chỉ có thể tìm thấy các tệp tar.
Oussama Essamadi

1
Hãy thử các liên kết trong câu trả lời và tải về của tôi msmtp-1.6.2-w32.zip sourceforge.net/projects/msmtp/files/msmtp/1.6.2
iyrin

0

Tôi đã sử dụng Mercury / 32 và Pegasus Mail để có được chức năng của mail (). Nó cũng hoạt động tốt như một máy chủ thư nếu bạn muốn có địa chỉ email kết thúc bằng tên miền của mình.

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.