เซิร์ฟเวอร์ SMTP ระยะไกลบางตัวฉันพยายามส่งจดหมายไปยังปฏิเสธที่จะยอมรับ HELO จากเซิร์ฟเวอร์ของฉัน:
504 5.5.2 <localhost>: Helo command rejected: need fully-qualified hostname
เห็นได้ชัดว่าเซิร์ฟเวอร์ Exim4 ของฉันส่งlocalhost
เป็น FQDN ค้นหาสุทธิและไฟล์ปรับแต่งมากมายฉันได้เรียนรู้ว่าค่าที่ส่งเป็น FQDN ระหว่าง HELO นั้นมาจากprimary_hostname
ตัวแปรการกำหนดค่า
คำถามของฉันคืออะไรวิธีที่ถูกต้องในการเปลี่ยนตัวแปรนี้ในระบบ Debian คืออะไร? ผมคิดว่าผมสามารถ hardcode ค่าในการ config ไฟล์ exim4 แต่ IMHO มันก็ดูเหมือนจะทำให้รู้สึกมากขึ้นถ้าค่าโดยอัตโนมัติตรงกับ/etc/mailname
หรืออื่น ๆ ชื่อการตั้งค่าส่วนกลาง
ฉันรู้สึกว่าคำตอบสำหรับคำถามของฉันสามารถพบได้ในข้อความนี้จากDebian wiki :
ชื่อที่ใช้โดยเอ็กซิมใน EHLO / HELO
primary_hostname
ถูกดึงออกมาจากตัวเลือกการกำหนดค่า การกำหนดค่าเริ่มต้น exim4 Debianprimary_hostname
ไม่ได้ตั้งค่า Exim จะใช้ค่าเริ่มต้นเป็น uname () เพื่อค้นหาชื่อโฮสต์ ถ้าการเรียกนั้นส่งคืนหนึ่งคอมโพเนนต์เท่านั้น gethostbyname () หรือ getipnodebyname () จะถูกใช้เพื่อรับชื่อโฮสต์แบบเต็มหาก Exim HELO ของคุณเป็น localhost.localdomain คุณอาจมี / etc / hosts ที่กำหนดค่าผิดพลาดซึ่งสร้างขึ้นโดยตัวติดตั้ง Debian บางเวอร์ชัน ในกรณีนี้โปรดแก้ไข / etc / hosts ของคุณ
น่าเสียดายที่ฉันไม่คุ้นเคยกับการดูแลเซิร์ฟเวอร์ Linux เพื่อให้รู้ว่าสิ่งนี้หมายถึงอะไร :(
hostname -f
ยังคงรายงาน "localhost" ส่วนเกี่ยวกับ / etc / hosts ในคำตอบของคุณดูเหมือนจะเป็นรถ - อะไรคือระเบียนแรกที่ควรมีลักษณะอย่างไร