กำลังส่งอีเมลจากเซิร์ฟเวอร์ของฉัน


11

ดังนั้นฉันต้องการส่งอีเมลจากเซิร์ฟเวอร์ของฉัน

ฉันติดตั้งแล้ว mailx

apt-get install mailx

แต่คำสั่งเช่น

mail -s "Hello world" me@gmail.com

ข้อผิดพลาดเกิดขึ้นจริงใน/ var / spool / mail /ซึ่งระบุว่า:

Mailing to remote domains not supported.

ทำไมถึงเกิดขึ้น?

คำตอบ:


17

คุณใช้ MTA ใดในเครื่อง mailเพียงแค่ให้ความสามารถในการจัดรูปแบบข้อความอีเมล แต่คุณยังต้องการและ MTA ในการจัดส่งจริง การแจกแจงส่วนใหญ่จะมาพร้อมกับ sendmail คุณอาจต้องติดตั้ง MTA อื่นหรือกำหนดค่าปัจจุบันเพื่อรองรับการจัดส่งภายนอก


1
จาก logfile ที่นี่ดูเหมือนว่า exim 4.69
bobobobo

6
หากคุณใช้ Debian / Ubuntu คุณจะต้องแก้ไข/etc/exim4/update-exim4.conf.confและเปลี่ยนบรรทัดเพื่ออ่านdc_eximconfig_configtype='internet'และรีสตาร์ท exim หากคุณกำลังใช้ distro อื่นตรวจสอบให้แน่ใจว่าบรรทัดนี้มีลักษณะเช่นนี้hostlist relay_from_hosts = 127.0.0.1
vmfarms

10
ที่จริงฉันใช้dpkg-reconfigure exim4-configคำสั่ง "wizard" และใช้งานได้ทันที! ขอบคุณ!
bobobobo

2

เนื่องจาก mailx ต้องการโครงสร้างพื้นฐาน SMTP แบบเต็มซึ่งไม่ได้กำหนดค่าไว้ตามค่าเริ่มต้น คุณได้ติดตั้งเซิร์ฟเวอร์ SMTP ชนิดใด (เช่น postfix, exim, sendmail, qmail)


ฉันเชื่อว่าฉันมี exim
bobobobo

1
# fgrep remote /var/log/exim4/mainlog.1 | sed -E 's#([ <])[^ <]+@[^ >]+([ >])#\1a@b\2#g' | head -1
2019-01-08 00:47:00 1ggebk-00055M-St ** a@b <a@b> R=nonlocal: Mailing to remote domains not supported
#

ดูเหมือนว่า Debian อาจมาพร้อมกับexim4ชุดที่ทำงานไม่ถูกต้องบนเครื่องที่เชื่อมต่ออินเทอร์เน็ตโดยที่พอร์ต smtp ขาออกไม่ถูกบล็อก

เป็นแหลมออกในความคิดเห็นต่าง ๆที่จะทำให้มันทำงานอย่างถูกต้องหนึ่งที่มีการเรียกใช้dpkg-reconfigure exim4-configและภายในตัวช่วยสร้างให้เลือกแรกinternetตัวเลือก โปรดทราบว่าในกล่องโต้ตอบที่ตามมาภายในตัวช่วยสร้างค่าเริ่มต้นจะยังคงตั้งค่าให้รับฟังเฉพาะที่อยู่localhostIPv4 / IPv6 ดังนั้นจึงปรากฏว่าหากคุณปล่อยให้ค่าเริ่มต้นอื่นอยู่คนเดียวคุณจะยังคงพอร์ต SMTP ขาเข้าเพียงอย่างเดียว

เพื่อตรวจสอบว่าตัวช่วยสร้างทำงานอย่างถูกต้องคุณสามารถตรวจสอบ Debian เฉพาะ/etc/exim4/update-exim4.conf.conf(ใช่มันเป็นสองเท่า.conf.confนั่นไม่ใช่การพิมพ์ผิด) ซึ่งมีส่วนร่วมในความล้มเหลวนี้ นี่คือส่วนต่าง ๆ ที่เกี่ยวข้องหลังจากการทำงานdpkg-reconfigure exim4-configและการเปลี่ยนตัวเลือกแรกภายในตัวช่วยสร้างซึ่งเปิดใช้งานการส่งจดหมาย แต่ให้พอร์ต SMTP เปิดเฉพาะกับเครื่องเท่านั้น (ตัวเลือกเริ่มต้นหากคุณเพิ่งคลิกผ่านในการกำหนดค่าใหม่หลังจากตัวเลือกแรก) :

dc_eximconfig_configtype='internet'
…
dc_local_interfaces='127.0.0.1 ; ::1'

อีกวิธีคือติดตั้งDragonFly Mail Agentใน jessie ขึ้นไป - https://packages.debian.org/jessie/dma - ซึ่งเป็นการใช้งาน MTA อย่างง่ายการใช้สิ่งที่ดี UNIX mail ทั้งหมดยกเว้น SMTP ขาเข้าดังนั้น คุณไม่ต้องกังวลเกี่ยวกับการกำหนดค่าผิดพลาดหรือช่องโหว่ภายนอก


0

หากคุณไม่ได้ติดตั้งเซิร์ฟเวอร์ SMTP ภายในคุณสามารถส่งจดหมายของคุณผ่านเซิร์ฟเวอร์ gmail SMTP คุณสามารถติดตั้ง sSMTP MTA และกำหนดค่าด้วย gMail SMTP Server หรือเซิร์ฟเวอร์ SMTP ภายนอกอื่น

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