IIS / SMTP - อีเมลติดอยู่ใน mailroot / Queue


25

ฉันกำลังพยายามส่งอีเมลผ่าน SMTP ภายในไดเรกทอรีการรับของ IIS น่าเสียดายที่อีเมลเพิ่งเข้าสู่โฟลเดอร์เมลรูท / คิวและอยู่ที่นั่น พวกเขาไม่เคยได้รับการส่ง

ไม่มีใครรู้ว่าทำไมสิ่งนี้จะเกิดขึ้นและแก้ไขปัญหาที่อาจเกิดขึ้น?


1
ฉันพบปัญหาเดียวกัน แต่ปรากฏว่านี่เป็นเพียงการเกิดขึ้นกับโดเมน / เซิร์ฟเวอร์เป้าหมายเฉพาะนั่นคือฉันส่งอีเมลตัวเอง / เพื่อนร่วมงานโดยใช้ที่อยู่ที่ทำงาน (เซิร์ฟเวอร์ Exchange) และจดหมายเพิ่งอยู่ในคิว ฉันส่งไปยังบัญชี Gmail ส่วนตัวโดยไม่ได้ตั้งใจและส่งไปโดยไม่มีปัญหา ต่อมาทดสอบกับ hotmail และ Exchange server อื่นเป็นเป้าหมายและส่งเมลได้ดี ยังไม่ได้ผลว่าปัญหาคืออะไร แต่ถ้าใครยังมีปัญหาที่คล้ายกันก็อาจจะมีการตรวจสอบนี้
Matt

@ MatewewSwain ฉันเห็นสิ่งเดียวกันที่นี่ เมลที่ส่งออกไปหลายร้อยหากไม่ใช่หลายพันสำเร็จ แต่จดหมาย 53 ฉบับติดอยู่ในคิว พวกเขาดูเหมือนจะเป็นผู้รับ / โดเมนที่เฉพาะเจาะจง
Zero3

คำตอบ:


18

พบปัญหาที่คล้ายกันกับไฟล์ที่ติดอยู่ในคิว ในตัวจัดการ IIS เซิร์ฟเวอร์เสมือนของ SMTP> คุณสมบัติ> Delievery> การเชื่อมต่อขาออก ตัวเลือกสำหรับการได้รับการตรวจสอบและความคุ้มค่าเป็นLimit number of connections to 0ดังนั้นจึงได้รับการกำหนดค่าให้ไม่ทำการเชื่อมต่อขาออกทำให้อีเมลไม่ออกจากเซิร์ฟเวอร์ ฉันยกเลิกการเลือกตัวเลือกและรีสตาร์ทเซิร์ฟเวอร์ SMTP และทั้งหมดก็ดี


จับที่ดีของอันนี้ .. แต่ฉันจำไม่ได้แม้แต่จะไปที่หน้าต่างนั้นในตอนแรกเพื่อตรวจสอบตัวเลือกนั้น .. ไม่แน่ใจว่ามันจบลงด้วย 0 ในตอนแรก !!
krilovich

สิ่งนี้เกิดขึ้นกับเราวันนี้ ฉันเข้าไปเปลี่ยนการตั้งค่าและ "จำกัด จำนวนการเชื่อมต่อกับ" ในแท็บ "ทั่วไป" ได้รับการตรวจสอบและมี "0" ด้วย เห็นได้ชัดว่านี่เป็นการเปลี่ยนแปลงการตั้งค่า "การเชื่อมต่อขาออก" ด้วย
เทรวิส

7

ฉันมีปัญหานี้ในวันนี้

หลังจากเริ่มบริการ 'Simple Mail Transfer Protocol (SMTP)' ก็เริ่มทำงานอีกครั้ง


4

สำหรับบันทึก: เรามีกรณีที่เซิร์ฟเวอร์ไม่สามารถแก้ไขชื่อได้อีกต่อไปเนื่องจากการตั้งค่า DNS ที่ผิดพลาด พฤติกรรมที่เกิดขึ้นเป็นสิ่งที่คุณอธิบาย


1
ปัญหา DNS คืออะไร
Shaamaan

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

1

IISRESET แก้ไขสิ่งนี้ให้ฉัน ฉันเชื่อว่าคล้ายกับวิธีการรีเซ็ตบริการ SMTP เนื่องจากบริการนี้ขึ้นอยู่กับ IIS หลังจากรีสตาร์ทเมลภายใน C: \ inetpub \ mailroot \ Queue เริ่มหายไป!


1

ฉันพบปัญหานี้เมื่อเร็ว ๆ นี้ ในกรณีของฉันมันกลายเป็นปัญหากับคำจำกัดความของเซิร์ฟเวอร์ DNS ในอะแดปเตอร์เครือข่าย เซิร์ฟเวอร์ DNS ที่กำหนดถูกตั้งค่าเป็น "127.0.0.1" แทน "8.8.8.8" ปกติที่ใช้บนเครือข่ายนี้ตามปกติ ฉันเปลี่ยนสิ่งนี้เป็นค่าที่ถูกต้องรีสตาร์ทเซิร์ฟเวอร์ SMTP ของฉันและกระจายอีเมลที่อยู่ในคิวทันที

ฉันทราบได้อย่างไรว่าการค้นหาปัญหาการกำหนด DNS:

  • ใช้ nslookup เพื่อค้นหาเซิร์ฟเวอร์ mx เพื่อทดสอบ (ทดสอบ 5 หรือ 6 อันแตกต่างกัน)
  • พยายามที่จะ telnet ไปยังเซิร์ฟเวอร์ (ทุกครั้งที่พบกับข้อความ "ไม่สามารถเชื่อมต่อ" ที่ทำให้ฉันคิดถึงปัญหาไฟร์วอลล์ครั้งแรก)
  • พยายาม ping ค่าสำหรับเซิร์ฟเวอร์ mx ที่ทดสอบแล้ว (ทุกครั้งที่พบกับข้อความ "ไม่สามารถเชื่อมต่อกับโฮสต์")

หวังว่านี่จะช่วยให้คนอื่นไม่ใช่สิ่งที่ฉันคิดว่าจะดูในตอนแรก


0

จากประสบการณ์ของฉันนี้มักจะเกิดจาก IIS SMTP พยายามส่งและพบข้อผิดพลาดชั่วคราว (รหัสตอบสนอง 4xx) คุณได้เปิดการบันทึกสำหรับบริการ IIS SMTP และตรวจสอบบันทึกแล้วหรือยัง ขออภัยถ้าเห็นได้ชัด แต่ก็ยากที่จะทราบสาเหตุหรือการแก้ไขโดยไม่ทราบว่าบันทึกแสดงข้อมูลอะไร


1
ไม่ชัดเจนเลย ฉันไม่รู้เกี่ยวกับ IIS มากนัก [ฉันควร] แต่ฉันเน้นที่รหัสไม่ใช่ผู้ดูแลระบบ ไม่แน่ใจว่าจะตั้งค่าบันทึกอย่างไร
แจ็ค Marchetti

สิ่งเดียวที่ฉันเห็นคือ: การกระทำ: ล้มเหลวสถานะ: 5.3.5
Jack Marchetti

หากต้องการเปิดใช้งานบันทึกให้เปิดผู้ดูแลระบบ IIS 6 (แม้ว่าคุณจะใช้ IIS 7 บริการ SMTP ยังคงเป็นส่วนหนึ่งของ IIS 6) คลิกขวาที่คุณสมบัติของบริการ SMTP แล้วไปที่แท็บการบันทึก คุณควรจะสามารถเปิดใช้งานบันทึกและ / หรือค้นหาตำแหน่งของบันทึกที่นั่น
jlupolt

0

ฉันคิดว่าปัญหาอาจเป็นไปได้ว่ามีความสับสนระหว่าง IPv4 และ IPv6 ในระบบดังนั้นเมื่อคุณระบุ localhost โปรโตคอล IPv6 เริ่มต้นจะถูกเลือก ฉันมีปัญหาเดียวกันในวันนี้และได้รับการแก้ไขหลังจากการอ้างอิง localhost ไปยังที่อยู่ IPv6 ในโฮสต์ถูกแฮชเอาท์ถึงแม้ว่ามันอาจจะเป็นเรื่องบังเอิญ (ฉันกำลังตั้งค่า SVN ด้วย) ดังนั้นนี่คือการตั้งค่าของฉันในกรณี:

  1. ใน IIS7 ฉันมีตัวเลือก "ส่งไปยังเซิร์ฟเวอร์ SMTP" เปิดใช้งานด้วย localhost เป็นเซิร์ฟเวอร์ที่ฉันเลือก
  2. ใน IIS6 ฉันได้ตั้งค่าการเข้าถึงเป็น 127.0.0.1 เท่านั้นไม่มีการตรวจสอบสิทธิ์สำหรับขาเข้าหรือขาออก

ฉันเล่นซอกับการตั้งค่าทั้งวันดังนั้นพูดตามตรงไม่แน่ใจว่าอะไรจะมีอิทธิพลต่อความจริงที่ว่ามันใช้งานได้ในขณะนี้ หวังว่านี่จะช่วยได้อย่างน้อยนิด


0

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


0

เซิร์ฟเวอร์ SMTP กำลังค้นหาโฮสต์ / เกตเวย์ SMTP เพื่อส่งเมลไป

หากคุณกำลังพยายามที่จะส่งไปยัง localhost แล้ว localhost IP จะเป็นเกตเวย์ หากคุณพยายามส่งไปยังที่อยู่อีเมลภายนอกเช่น gmail หรือ hotmail คุณจะต้องเพิ่มเกตเวย์อีเมลของ ISP ของคุณเป็นสมาร์ทโฮสต์

วิธีตั้งค่าโฮสต์อัจฉริยะ:

  1. ในตัวจัดการ IIS คลิกขวาเซิร์ฟเวอร์เสมือน SMTP แล้วคลิกคุณสมบัติ
  2. คลิกแท็บการจัดส่งและคลิกขั้นสูง
  3. ในกล่องโฮสต์สมาร์ทพิมพ์ชื่อของเซิร์ฟเวอร์โฮสต์สมาร์ท คุณสามารถพิมพ์สตริงเพื่อแสดงชื่อหรือป้อนที่อยู่ IP
  4. ถ้าคุณต้องการให้บริการ SMTP พยายามส่งข้อความระยะไกลโดยตรงก่อนที่จะส่งต่อไปยังเซิร์ฟเวอร์โฮสต์สมาร์ทเลือกนั้นความพยายามจัดส่งโดยตรงก่อนส่งไปยังโฮสต์สมาร์ทกล่องกาเครื่องหมาย ค่าเริ่มต้นคือการส่งข้อความระยะไกลทั้งหมดไปยังสมาร์ทโฮสต์ไม่พยายามส่งโดยตรง

0

ฉันมีปัญหาเดียวกันหลังจากสลับบริการอีเมลจากโฮสต์หนึ่งไปอีกโฮสต์หนึ่ง (ใหม่คือ Office 365) หลังจากการลองผิดลองถูกมากมายมันก็เริ่มทำงานโดยทำสิ่งนี้:

  1. เพิ่มโดเมนอีเมลของฉันไปยัง IIS 6 เป็นโดเมน "ระยะไกล" (นี่คือโดเมนที่โฮสต์ใน O365 และบัญชีผู้ใช้ทั้งหมดใช้)
  2. ใน IIS 6 คลิกสองครั้งที่โดเมนนั้น ภายใต้ "เส้นทางโดเมน" เลือก "ส่งต่อจดหมายทั้งหมดไปยังสมาร์ทโฮสต์" และป้อนเซิร์ฟเวอร์ของคุณ (ในกรณีของฉัน "smtp.office365.com") และเลือกช่องทำเครื่องหมาย "อนุญาตให้ส่งเมลขาเข้าไปยังโดเมนนี้"
  3. ใน IIS 6 คลิกขวาที่เซิร์ฟเวอร์เสมือน SMTP> คุณสมบัติ
    • แท็บทั่วไป: คลิกขั้นสูงและเพิ่ม IP และพอร์ต 587 ในเครื่องของคุณ
    • แท็บการเข้าถึง: ตรวจสอบให้แน่ใจว่าได้เลือก "ต้องใช้การเข้ารหัส TLS" ฉันต้องสร้างใบรับรองโดเมนใน IIS 7 ด้วยชื่อโดเมนอีเมลของฉัน
    • แท็บการเข้าถึง: เพิ่ม IP เซิร์ฟเวอร์ท้องถิ่นของคุณไปยังรายการ "การเชื่อมต่อ" และ "รีเลย์"
    • แท็บการจัดส่ง: การรักษาความปลอดภัยขาออก: เลือกการรับรองความถูกต้องเบื้องต้นป้อนข้อมูลรับรองของผู้ใช้ที่ได้รับสิทธิ์ใช้งาน ทำเครื่องหมายที่ช่องสำหรับ "การเข้ารหัส TLS"
    • แท็บการนำส่ง: การเชื่อมต่อขาออก: ป้อน 587 สำหรับพอร์ต TCP
    • แท็บการจัดส่ง: ขั้นสูง: ป้อนโดเมนอีเมลของคุณเป็น "ชื่อโดเมนที่ผ่านการรับรองครบถ้วน" และเซิร์ฟเวอร์อีเมลของคุณในฐานะ "โฮสต์อัจฉริยะ" (อีกครั้งในกรณีของฉัน smtp.office365.com)

ไฟร์วอลล์: ฉันได้อ่านแล้วว่าคุณต้องเปิดพอร์ต 587 สำหรับขาออก (ฉันไม่ได้เพราะนี่เป็นเซิร์ฟเวอร์ VOIP ที่จำเป็นต้องปิดไฟร์วอลล์)

Office 365: เพิ่ม "ตัวเชื่อมต่อ" ภายใต้ผู้ดูแลระบบ> แลกเปลี่ยนเพื่ออนุญาต IP แบบคงที่ในเครื่องของคุณ Microsoft ให้คำแนะนำเหล่านั้นทางออนไลน์


0

วิ่งเข้าไปหาปัญหานี้เร็ว ๆ นี้ มีใครบางคนติดตั้ง MalwareBytes ลงบนเซิร์ฟเวอร์ smtp และโฟลเดอร์ smtp mailroot นั้นไม่อยู่ในรายการที่อนุญาต ซอฟต์แวร์จัดการทุกอย่างในคิวว่าเป็นแคมเปญสแปมที่เป็นไปได้และปล่อยให้มันหมดเวลาพอที่จะย้ายไปที่ badmail โดเมนทั้งหมดได้รับผลกระทบ มีฉันงง (การดำเนินการที่ไร้ที่ติมานานหลายปีแล้ว .. ) จนกระทั่งฉันดูกระบวนการทำงานและสังเกตเห็น exe ของ mbam


-2

ฉันมีปัญหาเดียวกัน ตามที่คนอื่น ๆ ระบุว่าเกี่ยวข้องกับ DNS ฉันมีโซนการค้นหาแบบส่งต่อบนเซิร์ฟเวอร์ DNS ภายในของเราสำหรับชื่อโดเมนสาธารณะของเรา (ซึ่งแตกต่างจากชื่อโดเมนภายในของเรา) ฉันต้องเพิ่มระเบียน MX ในโซนการค้นหาแบบส่งต่อภายในเพื่อจับคู่ระเบียน MX ในระเบียน DNS โดเมนสาธารณะของเรา วิธีนี้แก้ไขปัญหาได้

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