ฉันพยายามมาทั้ง 2 วันแล้วและฉันก็ไม่สามารถทำงานได้ง่ายที่สุด
ปัญหา: การส่งอีเมลจาก PHP ไปยังที่อยู่อีเมลของฉันไม่ทำงาน
ฉันทำงานกับWindowsและSendmail (Sendmail อยู่ในแพ็คเกจ XAMPP) มาก่อนและทุกอย่างก็โอเค แพคเกจ XAMPP (1.7.7) สำหรับ Linux ไม่ได้รวม Sendmail ไว้ ดังนั้นหลังจาก googling ไปเล็กน้อยฉันก็พบว่าPostfixเหมาะกับสภาพแวดล้อม LAMPP
สิ่งที่ฉันได้ลองไปแล้ว:
ฉันได้ติดตั้งPostfixและต้องการกำหนดค่าให้ใช้ smtp-server ของผู้ให้บริการอีเมลส่วนตัวของฉัน (เหมือนที่ทำบน Windows) ดังนั้นฉันได้ยืนยันphp.iniของฉันเช่นนี้:
[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25
; For Win32 only.
;sendmail_from = me@example.com
sendmail_path = /etc/postfix
mail.add_x_header = On
โปรดทราบว่าฉันได้แสดงความคิดเห็น "Win32 เท่านั้น" -stuff /etc/postfix/main.cfลักษณะเช่นนี้:
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
myhostname = ubuntu
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
sender_canonical_maps = hash:/etc/postfix/sender_canonical
mydestination = ubuntu, localhost.localdomain, localhost
relayhost = mail.gmx.net
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
/ etc / aliasesไม่เปลี่ยนแปลง:
# Required aliases
postmaster: root
MAILER-DAEMON: postmaster
# Common aliases
abuse: postmaster
spam: postmaster
/ etc / postfix / sasl_password :
my.providers.smtp my_login:my_password
/ etc / postfic / sender_canonical:
postmaster my.email@ddress.com
เกิดอะไรขึ้น:
ดังนั้นเมื่อฉันทำ
> sudo /etc/init.d/postfix start
ทุกอย่างดูเหมือนว่าจะทำงานได้ดีและ/var/log/mail.logพูดว่า: "ubuntu postfix / master [9720]: daemon เริ่มต้น - รุ่น 2.8.5, การกำหนดค่า / etc / postfix"
แต่เมื่อฉันรันสคริปต์ PHP ของฉัน (ซึ่งทำงานได้ดีกับ Windows และ Sendmail) มันเพิ่งทำงานผ่านและไม่มีอะไรเกิดขึ้นแม้แต่ข้อผิดพลาดที่บันทึกไว้
สิ่งที่ฉันต้องการบรรลุจริง:
ฉันทำงานในพื้นที่บนเว็บไซต์อีคอมเมิร์ซ มันทำงานได้ดีบนเว็บเซิร์ฟเวอร์โดยเฉพาะ แต่ฉันต้องการให้มันทำงานในพื้นที่ด้วยเหตุผลที่ชัดเจน ในบางกรณีมันส่งอีเมลและฉันแค่ต้องการรับ Thunderbird หรือด้วยวิธีอื่นใด ใช้Postfixมากเกินไปหรือไม่ ฉันไม่ต้องการรับอีเมล - ฉันแค่ต้องการทำให้อีเมลที่ส่งปรากฏให้เห็นอย่างใด ฉันไม่สามารถหาบทเรียนทีละขั้นตอนที่เป็นประโยชน์สำหรับปัญหานี้ได้ (ไม่เกี่ยวข้องกับ Senmail หรือ Postfix - แต่จริงๆแล้วฉันยังใหม่กับ Linux)
sendmail_path = "/usr/sbin/sendmail -t -i"