ฉันพยายามค้นหาจำนวนมาก แต่ไม่สามารถหาวิธีตั้งค่าเซิร์ฟเวอร์ ubuntu จริง ๆ ได้เพื่อที่ฉันจะสามารถส่งอีเมลผ่าน php โดยใช้ฟังก์ชัน mail () ใน php
ฉันมี apache2, mysql และ php5 ติดตั้งบนเซิร์ฟเวอร์ของฉัน
ขอขอบคุณ.
ฉันพยายามค้นหาจำนวนมาก แต่ไม่สามารถหาวิธีตั้งค่าเซิร์ฟเวอร์ ubuntu จริง ๆ ได้เพื่อที่ฉันจะสามารถส่งอีเมลผ่าน php โดยใช้ฟังก์ชัน mail () ใน php
ฉันมี apache2, mysql และ php5 ติดตั้งบนเซิร์ฟเวอร์ของฉัน
ขอขอบคุณ.
คำตอบ:
ฉันยังเห็นด้วยที่ไม่มีบทเรียนสำหรับผู้ที่ต้องการสคริปต์เพื่อส่งเช่นอีเมลระบุข้อผิดพลาดและไม่ต้องการเซิร์ฟเวอร์อีเมลแบบเต็ม
ก่อนอื่นถ้า postfix ที่ยังไม่ได้ติดตั้งให้ทำ:
sudo apt-get install postfix
มันถามคำถามสองสามข้อ สำหรับตอนแรกฉันเลือก "เว็บไซต์อินเทอร์เน็ต"; สำหรับเครื่องที่อยู่หลังไฟร์วอลล์ฉันอาจเลือกสมาร์ทโฮสต์แทน สำหรับคำถามที่สองมันเป็นค่าเริ่มต้นที่ชื่อเครื่อง; ฉันต่อท้ายชื่อโดเมนที่ฉันควบคุม (เพื่อให้ฉันสามารถตั้งค่า DNS สำหรับมันในภายหลังฉันควรจะต้อง)
ณ จุดนี้คุณควรจะสามารถใช้ "จดหมาย" จาก commandline เพื่อส่งการทดสอบ (ฉันมักจะทำตามคำแนะนำในhttp://ubuntuforums.org/showthread.php?t=38429ก่อนอื่นฉันต้องใช้-f
flag เพื่อ/usr/bin/sendmail
ฉันยังต้องการสร้าง/etc/aliases
ด้วยรายการสำหรับ root และผู้ใช้ปกติของฉันแล้วเรียกใช้newaliases
)
จากนั้นภายใต้ /etc/php5/conf.d สร้างไฟล์ (เช่น mailconfig.ini) ด้วยเนื้อหาเหล่านี้:
sendmail_from = "me@example.com"
sendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"
เปลี่ยน me@example.com เป็นที่อยู่อีเมลของคุณ พวกเขาหมายความว่าอีเมลทั้งหมดจะดูเหมือนที่คุณส่งมาซึ่งสามารถช่วยป้องกันไม่ให้ถูกปฏิเสธได้ สิ่งนี้ก็เพียงพอแล้วสำหรับการส่งอีเมลข้อผิดพลาดไปยังนักพัฒนาซอฟต์แวร์
(คำแนะนำข้างต้นผ่านการทดสอบบน Ubuntu 10.04, 11.04, 11.10, 12.04)
ป.ล. ตามที่ชี้ให้เห็นโดย razzed ในความคิดเห็นที่mail
ไม่เคยมี (เช่นบน Ubuntu 11.10 มันหายไป) สิ่งนี้ไม่ส่งผลกระทบต่อคำแนะนำข้างต้นคุณเพียง แต่ต้องmail
ทำการทดสอบและคุณก็สามารถใช้ได้sendmail
เช่นกัน แต่mail
ก็มีประโยชน์สำหรับการอ่านอีเมลด้วยดังนั้นจึงเป็นเรื่องที่ควรค่าแก่การติดตั้งด้วย: apt-get install mailutils
(เหมือนรูท)
mail
ยูทิลิตีบรรทัดคำสั่งไม่ได้รับการติดตั้งในการติดตั้ง Ubuntu ที่สะอาดและการติดตั้ง PostFix ไม่ได้ติดตั้ง พยายามที่sudo apt-get install mailutils
จะmail
รับคำสั่งหรือใช้ทางเลือกเช่น Mutt หรือssmtp
sendmail_path
จะต้อง"
ทำงานอย่างถูกต้องเช่นsendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"
คุณจะต้องตั้งค่าเซิร์ฟเวอร์ ubuntu เพื่อให้สามารถส่งอีเมล ... เป็นตัวอย่างคุณสามารถติดตั้งและกำหนดค่า postfix ได้
เอกสาร Ubuntu มีหน้าดีที่https://help.ubuntu.com/community/MailServer
ผ่านกระบวนการอันเจ็บปวดของการตั้งค่าเซิร์ฟเวอร์อีเมลโดยตรงบนเซิร์ฟเวอร์ของคุณ (postfix, ฯลฯ ) หรือใช้ไลบรารีที่จะช่วยให้คุณเชื่อมต่อโดยตรงกับเซิร์ฟเวอร์ smtp