“ ไม่รู้จักชื่อโฮสต์ (foo.bar) ชื่อไม่เหมาะสมของฉัน” ปัญหา


31

เมื่อพยายามเริ่มsendmailหรือส่งเมลโดยใช้ปลั๊กอิน wordpressข้อผิดพลาดนี้จะปรากฏในmaillog:

"My unqualified host name (foo.bar) unknown; sleeping for retry"

หลังจากGooglingคำแนะนำที่ดีที่สุดคือ "เพิ่ม foo.bar ไปยังไฟล์ / etc / hosts" แต่มันก็เป็นแล้ว:

127.0.0.1     localhost localhost.localdomain
127.0.0.1     foo.bar

คำตอบ:


50

เปลี่ยนเพียง:

127.0.0.1     localhost localhost.localdomain
127.0.0.1     foo.bar

สำหรับสิ่งนี้

127.0.0.1     localhost localhost.localdomain foo.bar

Sendmailค้นหาชื่อโดเมนแบบเต็ม (FQDN) และจะใช้localhost.localdomainในเวอร์ชันบรรทัดเดียว


1
แก้ไขปัญหาของฉัน เพียงต้องการให้ชัดเจนมันเป็นชื่อโฮสต์ที่ควรใส่ในบรรทัดนี้ ดังนั้นก่อนใช้คำสั่ง hostname หามันกว่าเพิ่มลงในบรรทัดนี้ใน \ etc \ hosts ขอบคุณชาย
ลีออน

มันใช้งานไม่ได้สำหรับฉัน
user10089632

หรือใช้ชื่อโดเมนที่มีอยู่จริงและมีการกำหนดค่าอย่างเหมาะสม อย่างน้อยถ้าคุณต้องการให้เมลของคุณได้รับการจัดส่งคุณควร
Sammitch

เพียงเพื่อชี้แจงบิต - foo.bar ที่ควรจะเป็นของคุณจะได้รับชื่อโฮสต์ของคุณทำงานได้อย่างง่ายดายhostname $ hostnameจากนั้นเพิ่มชื่อโฮสต์ที่แสดงในบรรทัดนั้นตามที่แนะนำในโซลูชันนี้
Shir Gans

0

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

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

และนั่นคือการไม่พูดอะไรเลยสำหรับFCRDNSหรือหนึ่งในหลายๆ สิ่งที่คุณต้องทำเพื่อใช้งานเซิร์ฟเวอร์โดยที่อีเมลอาจได้รับการยอมรับเป็นส่วนใหญ่ [หากเหล่าเทพผู้ใช้อินเทอร์เน็ตยอมยิ้มให้คุณแม้สักครู่] คำตอบที่แท้จริงก็คือคุณอาจไม่ควรใช้ mailserver ของคุณเองเพราะมันไม่คุ้มค่ากับงานที่ต้องทำให้อยู่ในสถานะที่ดี ดูบริการอีเมลเช่น SendGrid, MailChimp เป็นต้น


0

คำตอบที่ได้รับการยอมรับ:

    127.0.0.1   localhost localhost.localdomain foo.bar

ดูเหมือนว่าจะทำงานได้ แต่สร้างข้อผิดพลาดใน/var/log/syslog:

    sendmail[11655]: gethostbyaddr(192.168.1.123) failed: 1

แต่ทิ้งไว้เพียง

    127.0.0.1   localhost

ใน/etc/hostsและการลบบรรทัดที่สองอนุญาตให้mailส่งและไม่ส่งผลให้เกิดข้อผิดพลาดใด ๆ

ปรับปรุง: เมื่อsudo ...whatever..มีข้อความsudo: unable to resolve host foo.barแต่ดูเหมือนว่ามันจะไม่ส่งผลกระทบอะไรเลย

BTW เพื่อรีสตาร์ทบริการชื่อโฮสต์โดยไม่ต้องรีบูต:

    systemctl restart systemd-hostnamed

บน Ubuntu 16.04 แต่ไม่จำเป็นสำหรับmailการทำงานหลังจากแก้ไข/etc/hosts

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