กล่องจดหมายที่ใช้งานไม่ได้. การตอบสนองของเซิร์ฟเวอร์คือ 5.7.1 ไม่สามารถส่งต่อสำหรับ abc@xyz.com [ปิด]


84

ฉันได้รับ " กล่องจดหมายไม่พร้อมใช้งานการตอบสนองของเซิร์ฟเวอร์คือ 5.7.1 ไม่สามารถส่งต่อสำหรับ abc@xyz.com " เมื่อฉันพยายามส่งอีเมลโดยใช้ ASP.NET ไซต์ถูกปรับใช้บน IIS7 เซิร์ฟเวอร์ Windows 2008

เว็บไซต์ที่ถูกปรับการทำงานใน IIS6 และ Windows Server ฉันปรับใช้บน IIS7, 2008 มันเริ่มให้ข้อผิดพลาดนี้แก่ฉัน

มีใครเคยมีประสบการณ์นี้มาก่อนหรือไม่?



Stack Overflow เป็นไซต์สำหรับคำถามเกี่ยวกับการเขียนโปรแกรมและการพัฒนา ใช้เว็บไซต์อื่นบนเครือข่ายกองแลกเปลี่ยน
jww

คำตอบ:


115

อ่าเข้าใจแล้ว ... ฉันใช้งานได้ :)

ขอบคุณคริสโตเฟอร์คำพูดของคุณถูกต้อง

แต่การค้นหา "เซิร์ฟเวอร์เสมือน SMTP เริ่มต้น" นั้นยุ่งยากมาก)

แม้ว่าคุณจะใช้ IIS7 เพื่อปรับใช้เว็บไซต์ของคุณคุณต้องเปิดตัวจัดการ IIS6 เพื่อกำหนดค่าเซิร์ฟเวอร์ SMTP (เพราะเหตุใด)

ฉันกำหนดค่าเซิร์ฟเวอร์ SMTP ดังต่อไปนี้เพื่อให้ทำงานได้:

  1. เปิดตัวจัดการ IIS6 โดยใช้แผงควบคุม -> เครื่องมือการดูแลระบบ
  2. เปิดคุณสมบัติเซิร์ฟเวอร์เสมือน SMTP
  3. บนแท็บทั่วไปตั้งค่าที่อยู่ IP ของเว็บเซิร์ฟเวอร์แทน "ไม่ได้กำหนดทั้งหมด"
  4. ในแท็บ Access คลิกที่ปุ่มรีเลย์ซึ่งจะเปิดกล่องโต้ตอบข้อ จำกัด ของรีเลย์
  5. ในรายการคอมพิวเตอร์รีเลย์ให้เพิ่มที่อยู่ IP แบบวนกลับเช่น 127.0.0.1 และที่อยู่ IP ของเว็บเซิร์ฟเวอร์เพื่อให้สามารถส่ง / ส่งต่ออีเมลผ่านเซิร์ฟเวอร์ SMTP ได้

3
เหตุผลที่ต้องจัดการใน IIS 6 เนื่องจาก IIS 7.X ไม่มีส่วนประกอบเซิร์ฟเวอร์ SMTP ของตัวเองจึงใช้ IIS 6
MemeDeveloper

5
ใน web.config ของฉันฉันอ้างถึงเซิร์ฟเวอร์ smtp ของฉันโดยใช้ชื่อว่า "localhost" หากฉันทำตามขั้นตอนที่ 3 การแก้ปัญหานี้ล้มเหลว ถ้าฉันข้ามขั้นตอนที่ 3 มันได้ผล ขอบคุณ :)
Paul Suart

1
นอกจากนี้ยังใช้กับ IIS8 และเซิร์ฟเวอร์ 2012
Isaac Bolinger

เรากำลังใช้รีเลย์เพื่อส่งอีเมลผ่านบัญชีใน Office 365 ของเราฉันยังต้องติดตั้งเซิร์ฟเวอร์ smtp ใน IIS 6 อยู่หรือไม่แม้ว่าเราจะไม่ได้ใช้เซิร์ฟเวอร์ smtp ของเว็บเซิร์ฟเวอร์ก็ตาม นี่คือบน Windows Server 2016 ที่ใช้ IIS 10 ใครมีคำแนะนำหรือวิธีแก้ปัญหาสำหรับปัญหานี้หรือไม่? ขอบคุณล่วงหน้า!
นาธาน

ขอบคุณมาก! แก้ไขปัญหาของฉัน
Nanou Ponette

20

ในที่นี้คือคำตอบ ... การตั้งค่า IIS

IIS -> เซิร์ฟเวอร์เสมือน SMTP เริ่มต้น -> คุณสมบัติ -> การเข้าถึง -> ข้อ จำกัด ของรีเลย์เพียงแค่เพิ่มหรือไม่รวม IP ที่คุณสนใจก็ควรแก้ไขปัญหาได้


2
"เซิร์ฟเวอร์เสมือน SMTP เริ่มต้น" อยู่ที่ไหน ฉันใช้ IIS7 ใน IIS6 มี "SMTP Virtual Server" แต่ใน IIS & มันไม่ใช่?
Vinod T. Patil

18

ฉันกำลังเผชิญกับปัญหาที่เหมือนกันและทำตามขั้นตอน (สะกดออกอย่างชัดเจนมาก) ในการตอบกลับของ Vinod อย่างไรก็ตามสิ่งนี้ทำให้เกิดข้อผิดพลาดที่แตกต่างกัน:

ไม่สามารถอ่านข้อมูลจากการเชื่อมต่อการขนส่ง: net_io_connectionclosed

ฉันทำการขุดและเจาะลึกมากขึ้นและ (ในขณะที่ฉันไม่แน่ใจว่าทำไมถึงใช้งานได้) ฉันแก้ไขโดย:
- กลับไปที่คอนโซลการจัดการ IIS6.0
- เปิดคุณสมบัติเซิร์ฟเวอร์เสมือน SMTP
- บนแท็บทั่วไปเปลี่ยน 'IP ที่อยู่: 'setting back to' (All Unassigned) '

ไม่แน่ใจว่าทำไมถึงได้ผล แต่หวังว่าจะช่วยให้คนที่ประสบปัญหาเดียวกันในอนาคต


15

เป็นภาพมีค่าพันคำ ..

เมื่อคุณพบตัวจัดการ IIS6 (ฉันพบว่าการค้นหา IIS อาจส่งคืนผลลัพธ์ 2 รายการ) ไปที่คุณสมบัติเซิร์ฟเวอร์ SMTP จากนั้น 'Access' จากนั้นกดปุ่มรีเลย์

จากนั้นคุณสามารถเลือกทั้งหมดหรืออนุญาตเฉพาะ ip บางอย่างเช่น 127.0.0.1

SMTP รีเลย์


5

ขอบคุณ Vinod สำหรับคำตอบที่นำเสนอได้ดี

ฉันได้รับข้อผิดพลาดเดียวกันกับ Mick Byrne เมื่อทำตามขั้นตอนด้านบน การเปลี่ยนกลับเป็น All Unassigned จัดเรียง แต่ฉันต้องปรับแต่งสิ่งอื่น ๆ ด้วย:

  • เพิ่มผู้ใช้ที่ไซต์ของฉันทำงานภายใต้ให้กับผู้ใช้บนแท็บความปลอดภัยในเซิร์ฟเวอร์เสมือน SMTP
  • เปลี่ยนค่าในแอตทริบิวต์ mailSettings> network> host ใน web.config ของฉันเป็น IP ของเซิร์ฟเวอร์เฉพาะ (เช่น 192.168.100.120) ซึ่งตรงข้ามกับ localhost (ซึ่งชี้ไปที่ 127.0.0.1 ในไฟล์โฮสต์)

หวังว่านี่จะช่วยให้ใครบางคนไม่ต้องยุ่งเกี่ยวกับเรื่องนี้


4

ฉันสามารถแก้ไขปัญหานี้ได้โดยเปลี่ยนการตั้งค่าอีเมลในส่วน system.net ของ web.config ของฉัน:

<mailSettings>
    <smtp deliveryMethod="Network">
        <network host="yourserver" defaultCredentials="true"/>
    </smtp>
</mailSettings>

2

หากคุณมี Exchange 2010 :

(ในกรณีของฉันข้อความแสดงข้อผิดพลาดไม่มี "for abc@xyz.com")

นี่แสดงวิธีเพิ่มตัวเชื่อมต่อการรับ: http://exchangeserverpro.com/how-to-configure-a-relay-connector-for-exchange-server-2010/

แต่ฉันต้องทำตามขั้นตอนที่นี่: http://recover-email.blogspot.com.au/2013/12/how-to-solve-exchange-smtp-server-error.html

  • ไปที่ Exchange Management Shell และเรียกใช้คำสั่ง
  • Get-ReceiveConnector "JiraTest" | Add-ADPermission - ผู้ใช้ "NT AUTHORITY \ ANONYMOUS LOGON" -ExtendedRights "ms-Exch-SMTP-Accept-Any-Recipient"

ในขณะที่ทำงานนี้ฉันรันสิ่งต่อไปนี้บนคอนโซล PowerShell ของเซิร์ฟเวอร์ที่ได้รับผลกระทบจนกว่าข้อผิดพลาดจะหายไป:

Send-MailMessage -From "myemail@server.com.au" -To "myemail@server.com.au" -Subject "Test Email" -Body "This is a test"

1

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

น่าแปลกที่เกิดข้อผิดพลาดขึ้นโดยมีEnable drop directory quotaการเปิดใช้งานการตั้งค่าสำหรับโดเมน

ใส่คำอธิบายภาพที่นี่

ฉันไม่ใช่ผู้เชี่ยวชาญและไม่ทราบคำอธิบายทางเทคนิค แต่การไม่เลือกการตั้งค่าที่กล่าวถึงเป็นการจัดเรียงปัญหา

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