ฉันกำลังพยายามตั้งค่าเซิร์ฟเวอร์ของบริษัทให้สามารถรับอีเมลไปยังบัญชีบางบัญชีในโดเมนย่อยของโดเมนหลักของเรา เช่น: [email protected]
จดหมายขาเข้าเหล่านั้นควรเรียกสคริปต์ php ที่จะจัดการการประมวลผลเนื้อหาบางอย่าง
ฉันใช้ Ubuntu Server 20.0.4 ติดตั้ง Postfix ติดตั้ง Dovecot แล้ว ฉันลองใช้ courier ด้วย แต่ก็ทำไม่ได้
ฉันได้ไกลนี้:
- ฉันสร้างผู้ใช้ linux และกำหนดค่า postfix เพื่อใช้บัญชีในเครื่องเป็นกล่องจดหมายที่ถูกต้อง
- ฉันกำหนดค่า postfix ให้รับจดหมายขาเข้าที่ subdomain.domain.com
- ฉันเพิ่มระเบียน A และ MX สำหรับโดเมนย่อยเพื่อกำหนดเส้นทางในโดเมน Google อย่างถูกต้อง
- ฉันกำหนดค่า SSL บนโดเมนย่อย (ยืนยันว่าทำงานอย่างถูกต้องใน ssllabs และผ่าน apache เมื่อนำทางไปยังโดเมนย่อยดังกล่าว)
- ฉันได้เพิ่มการกำหนดค่าเพิ่มเติมใน /etc/postfix/master.cf เพื่อเรียกใช้สคริปต์ php (ตอนนี้เป็นเพียงสคริปต์ทดสอบ/ตัวยึด):
smtp inet n - - - - smtpd
-o content_filter=myhook:dummy
...
# PHP สคริปต์ตะขอ
myhook ยูนิกซ์ - n n - - ท่อ
flags=F user=www-data argv=/path/to/script/MailParser.php ${sender} ${size} ${recipient}
สคริปต์ MailParser.php ทริกเกอร์การเขียนไปยังไฟล์บันทึกโดยระบุว่า "รับจดหมายขาเข้าสำเร็จที่ การประทับเวลา
"
ถ้าฉันส่งอีเมลผ่าน smtper.net ด้วยการตั้งค่าเหล่านี้
มันทริกเกอร์สคริปต์ให้เขียนบันทึกได้สำเร็จ และฉันเห็นข้อความ "ทดสอบ" จาก smtper.net ในอีเมลระบบของผู้ใช้ ดังนั้นทุกอย่างจึงดูดีที่นั่น
หากฉันพยายามส่งอีเมลผ่านไคลเอนต์อีเมลทั่วไป เช่น บัญชี Gmail ของฉัน ฉันได้รับข้อความตีกลับว่าไม่สามารถส่งได้โดยมีข้อผิดพลาด:
550 5.1.1 ไม่มีบัญชีอีเมลที่คุณพยายามเข้าถึงโปรดลองตรวจสอบที่อยู่อีเมลของผู้รับอีกครั้งว่าพิมพ์ผิดหรือเว้นวรรคโดยไม่จำเป็นหรือไม่ ศึกษาเพิ่มเติมได้ที่ https://support.google.com/mail/?p=NoSuchUser f16si1842833plj.1 - gsmtp
ฉันติดอยู่ที่จุดนี้