กำหนดค่าเซิร์ฟเวอร์ WAMP เพื่อส่งอีเมล


คำตอบ:


206

การกำหนดค่าไคลเอนต์อีเมลที่ใช้งานได้จาก localhost นั้นค่อนข้างน่าเบื่อฉันใช้เวลาหลายชั่วโมงในการพยายามทำมันให้ยุ่งยาก ฉันแน่ใจว่าอาจมีคนที่มีประสบการณ์มากกว่าสามารถช่วยได้หรืออาจเห็นด้วยกับฉัน

หากคุณเพียงต้องการทดสอบนี่คือเครื่องมือที่ยอดเยี่ยมสำหรับการทดสอบอีเมลในเครื่องที่แทบไม่ต้องกำหนดค่า

http://www.toolheap.com/test-mail-server-tool/

มันใช้งานได้ทันทีสำหรับฉันหวังว่านี่จะช่วยคุณได้


16
ทำงานร่วมกับ wamp โดยไม่ต้องกำหนดค่า watsoever เพียงแค่เปิด. eml ด้วย windows live mail (ไม่จำเป็นต้องกำหนดค่า)
Benjamin Crouzier

5
หาก (เช่นฉัน) คุณมาถึงโซลูชันที่ยอดเยี่ยมนี้หลังจากปรับแต่ง php.ini โปรดจำการกำหนดค่าเริ่มต้น: [ฟังก์ชันเมล] SMTP = localhost smtp_port = 25
BenL

2
ทำงานได้ยอดเยี่ยมสำหรับฉันโดยใช้ WAMP 4 บน Win10 ขอบคุณเวสลีย์!
nickstaw

4
ใครก็ตามที่ไม่พบลิงค์ดาวน์โหลดให้ไปที่นี่: toolheap.com/test-mail-server-tool/users-manual.html
SolidSnake

3
สำหรับผู้ที่ต้องการดาวน์โหลดโดยไม่ต้องปิดการใช้งาน adblock นี่คือลิงค์ดาวน์โหลด: toolheap.com/test-mail-server-tool/TestMailServerToolSetup.exe
Donald Duck

44

ติดตั้งFake Sendmail (ดาวน์โหลดsendmail.zip ) จากนั้นกำหนดค่า C: \ wamp \ sendmail \ sendmail.ini:

smtp_server=smtp.gmail.com
smtp_port=465
auth_username=user@gmail.com
auth_password=your_password

ข้างต้นจะใช้กับบัญชี Gmail จากนั้นกำหนดค่า php.ini:

sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"

ตอนนี้รีสตาร์ท Apache และนั่นคือทั้งหมดที่คุณต้องทำ


3
+1 สำหรับโซลูชันแบบครบวงจร เป็นแหล่งข้อมูลเพิ่มเติมสำหรับผู้ที่ต้องการรายละเอียดเพิ่มเติมเกี่ยวกับขั้นตอน: blog.techwheels.net/…
Prusprus

@gianjey สิ่งนี้จะใช้ได้กับบัญชีอื่นเช่น Hotmail หรือคุณต้องมีบัญชี Gmail ที่ลงทะเบียนเพื่อใช้งานนี้หรือไม่?
Ryman Holmes

1
Dang วิธีนี้ดูเหมือนจะไม่ทำงานอีกต่อไป ... สมมติว่าฉันตั้งค่าทุกอย่างถูกต้องแล้ว
ห้าม

สวัสดี @Banning ฉันสามารถตั้งค่านี้ได้อย่างไม่ยากเย็นในตอนนี้จึงยังใช้งานได้ ตรวจสอบให้แน่ใจว่าคุณไม่ได้กำหนดค่าการรับรองความถูกต้องสองขั้นตอนในบัญชี GMail อย่างไรก็ตามนี่เป็นแนวทางที่ดี - blog.techwheels.net/…
faludi

1
ไม่เชื่อว่าจะได้ผลลองครั้งแรก !!! เหลือเชื่อมาก ส่วนหนึ่งที่ทำให้ฉันสับสนคือถ้าคุณใช้ gmail คุณต้องใส่ชื่อผู้ใช้และรหัสผ่าน gmail ของคุณเพื่อให้สามารถลงชื่อเข้าใช้โปรแกรมรับส่งอีเมลเพื่อส่งอีเมลได้ หมายเหตุ: หากคุณจะดำเนินการนี้ให้สร้างบัญชี gmail ใหม่เนื่องจากจะเพิ่มความเสี่ยงด้านความปลอดภัย
William Howley

5

การใช้โปรแกรมโอเพนซอร์สเรียกSend Mailคุณสามารถส่งผ่าน wamp ได้อย่างง่ายดายจริงๆ ฉันยังคงตั้งขึ้น แต่นี่คือการสอนที่ดีโดยโจจอร์แดน ใช้เวลาในการตั้งค่าน้อยกว่า 2 นาที

เพิ่งลองใช้และได้ผลอย่างมีเสน่ห์! เมื่อฉันไม่ใส่ความคิดเห็นในบันทึกข้อผิดพลาดและพบว่ามันกำลังหยุดการตรวจสอบความถูกต้องของ pop3 ฉันก็แค่ลบมันออกและส่งไปอย่างดี ขอให้โชคดี!


หากคุณใช้บัญชี Gmail คุณต้องอนุญาตการเข้าถึงแอปที่มีความปลอดภัยน้อย ในการดำเนินการนี้เมื่อคุณทำตามที่ระบุไว้ในบทช่วยสอนที่เชื่อมโยงในคำตอบนี้และเปิดหน้า PHP ด้วยmailคุณจะได้รับอีเมลจาก Google แจ้งว่ามีการบล็อกความพยายามในการลงชื่อเข้าใช้ ในอีเมลนั้นให้คลิกที่ "ตรวจสอบกิจกรรม" และในหน้าที่เปิดขึ้นให้คลิกที่ "ใช่ฉันเป็นฉัน" จากนั้นคลิก "เรียนรู้เพิ่มเติม" จากนั้นคลิกที่ "หาก 'การเข้าถึงแอปที่มีความปลอดภัยน้อยกว่า' ปิดอยู่สำหรับ บัญชีของคุณ "จากนั้นคลิก" เปิดอีกครั้ง "จากนั้นเปิดสวิตช์
Donald Duck

นอกจากนี้คุณต้องระบุfromส่วนหัวเมื่อเรียกmailด้วย PHP ตัวอย่างเช่นคุณสามารถทำได้mail("to@example.com", "Subject", "Content", "From: youremailaddress@gmail.com")(เป็นพารามิเตอร์สุดท้ายที่สำคัญ)
Donald Duck

2

คุณต้องมีเซิร์ฟเวอร์ SMTP เพื่อส่งอีเมลของคุณ หากคุณมีที่พร้อมใช้งานซึ่งไม่ต้องการการรับรองความถูกต้อง SMTP (อาจเป็น ISP ของคุณ?) เพียงแค่แก้ไขการตั้งค่า 'SMTP' ([ฟังก์ชันเมล]) ในไฟล์ php.ini ของคุณ

หากไม่มีตัวเลือกนี้เนื่องจากเซิร์ฟเวอร์ SMTP ของคุณต้องการการรับรองความถูกต้องคุณจะไม่สามารถใช้ฟังก์ชัน mail () ภายในได้และต้องใช้คลาสของบุคคลที่สามซึ่งรองรับ smtp auth เช่นhttp://pear.php.net/package/Mail/


1

ฉันลองทดสอบเครื่องมือเซิร์ฟเวอร์เมลและแม้ว่าจะใช้งานได้ดี แต่คุณยังต้องเปิดอีเมลในไคลเอนต์บางตัว

ฉันพบPapercut : https://papercut.codeplex.com/

สำหรับการกำหนดค่านั้นทำได้ง่ายเช่น Test Mail Server Tool (pratically zero-conf) และยังทำหน้าที่เป็นไคลเอนต์อีเมลพร้อมมุมมองสำหรับข้อความ (เหมาะสำหรับอีเมล HTML), ส่วนหัว , เนื้อหา (เพื่อตรวจสอบ HTML) และRaw (เต็ม อีเมลที่ไม่แยกวิเคราะห์)

นอกจากนี้ยังมีมุมมองส่วนเพื่อแยกประเภทสื่อต่างๆที่พบในอีเมล

มี UI ที่สะอาดและเป็นมิตรโปรแกรมดูบันทึกที่ดีและให้การแจ้งเตือนเมื่อคุณได้รับอีเมล

ฉันคิดว่ามันสมบูรณ์แบบฉันแค่อยากจะให้ 2c ของฉันและอาจจะช่วยใครสักคน


1

Sendmail ไม่ได้ทำงานสำหรับผมดังนั้นผมจึงใช้msmtp 1.6.2 w32และส่วนใหญ่ก็ปฏิบัติตามคำแนะนำที่DeveloperSide นี่คือบทสรุปโดยย่อของการตั้งค่าสำหรับลูกหลาน:

เปิดใช้งานการเข้าถึงIMAPภายใต้บัญชี Gmail ของคุณ (หนึ่ง msmtp กำลังส่งอีเมลจาก)

เปิดใช้การเข้าถึงแอปที่ปลอดภัยน้อย ลงชื่อเข้าใช้บัญชี Google ของคุณแล้วไปที่นี่

แก้ไขphp.iniค้นหาและเปลี่ยนแปลงการตั้งค่าแต่ละรายการด้านล่างเพื่อแสดงสิ่งต่อไปนี้:

; 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"

สร้างและแก้ไขไฟล์msmtprc.iniในไดเร็กทอรีเดียวกับmsmtp.exeไฟล์ของคุณดังต่อไปนี้แทนที่ด้วยอีเมลและรหัสผ่านของคุณเอง:

# 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 บน windows ได้ ฉันสามารถค้นหาไฟล์ tar เท่านั้น
Oussama Essamadi

1
ลองใช้ลิงก์ในคำตอบของฉันและดาวน์โหลดmsmtp-1.6.2-w32.zip sourceforge.net/projects/msmtp/files/msmtp/1.6.2
iyrin

0

ฉันใช้ Mercury / 32 และ Pegasus Mail เพื่อให้เมล () ใช้งานได้ ใช้งานได้ดีเช่นเดียวกับเซิร์ฟเวอร์อีเมลหากคุณต้องการที่อยู่อีเมลที่ลงท้ายด้วยชื่อโดเมนของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.