การเปลี่ยนขนาดเมลสูงสุดใน Postfix


20

เมื่อส่งอีเมลขนาดใหญ่ไปยังเซิร์ฟเวอร์ CentOS6 ใหม่ที่เรียกใช้ Postfix เป็น MTA ข้อความต่อไปนี้จะถูกส่งกลับ:

tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 552 552 5.3.4 Error: message file too big (state 18)

ฉันพบข้อเสนอแนะต่อไปนี้แต่ไม่ชัดเจนว่าจะต้องเพิ่มที่ใดในmain.cfไฟล์:

ปัญหานี้เกิดจาก Postfix และมีการ จำกัด ข้อความไม่เพียง แต่ขนาดกล่องจดหมายเท่านั้น

ฉันต้องเพิ่มการตั้งค่านี้ใน/etc/postfix/main.cf:

message_size_limit = 31457280

ขนาดจดหมายสูงสุด (รวมถึงไฟล์แนบ) จะเพิ่มขึ้นได้อย่างไรใน Postfix

คำตอบ:


19

เพิ่มที่ใดก็ได้ใน main.cf ไม่เกี่ยวข้อง :) แต่มันเป็นเรื่องดีที่จะเก็บกลุ่มคำสั่งในลักษณะที่เป็นตรรกะบางอย่างมันง่ายสำหรับการบำรุงรักษา

ตามเอกสาร postfix อย่างเป็นทางการ:
message_size_limit (default: 10240000)ขนาดสูงสุดเป็นไบต์ของข้อความรวมถึงข้อมูลซองจดหมาย หมายเหตุ: ระวังเมื่อทำการเปลี่ยนแปลง ค่าขนาดเล็กมากเกินไปจะส่งผลให้เกิดการสูญเสียการแจ้งเตือนที่ไม่ได้จัดส่งเมื่อขนาดข้อความตีกลับเกินขีด จำกัด ขนาดข้อความของ MTA ท้องถิ่นหรือระยะไกล

นอกจากนี้ขนาดกล่องจดหมายเริ่มต้นที่ 50M อาจป้องกันไม่ให้ส่งจดหมายโดยเฉพาะหลังจากเพิ่มขนาดข้อความที่อนุญาต หากต้องการเพิ่มสูงสุดต่อขนาดกล่องจดหมายของผู้ใช้ให้เพิ่มmailbox_size_limit = <size in bytes>ใน main.cf

นอกจากนี้ในฐานะเอียน Sparkesvirtual_mailbox_limit = <size_in_bytes>ให้ความเห็นว่าถ้าคุณกำลังใช้การกำหนดค่ากล่องจดหมายเสมือนคุณอาจจำเป็นต้องตั้งค่า


3
หากคุณกำลังใช้การกำหนดค่ากล่องจดหมายเสมือนคุณอาจต้องตั้งค่า virtual_mailbox_limit = <size_in_bytes> เอาฉันทุกวัยเพื่อหาสิ่งนี้ดูเหมือนจะไม่มีใครพูดถึงมัน ;) ในที่สุดหากพบว่ามันโดยการเรียกใช้postconfและสแกนหาผู้สมัครที่มีแนวโน้ม
ISparkes

ขนาด จำกัด ของข้อความเริ่มต้นคือ 10240000 ไบต์ = 10 MB ไม่ใช่ 50 MB
黄雨伞

1
@ 黄雨伞 - ขนาดกล่องจดหมายและขนาดข้อความแตกต่างกันและอธิบายไว้ในคำตอบนี้ต่างกัน
วอร์เรน

1) 2018. 2) การให้ขนาดของจดหมายเป็นหน่วยไบต์ WTF
David Tonhofer

ใช่จะดีถ้าสามารถทำได้message_size_limit=15M (เพียงข้อเสนอแนะอย่าลองนี้)
Yetti99

11

ใช่คุณถูกต้องแล้วmessage_size_limitเป็นคำสั่งการกำหนดค่าที่คุณต้องการ วางไว้ที่ใดก็ได้ในไฟล์main.cfและโหลด (หรือรีสตาร์ท) Postfix

คุณสามารถใช้เครื่องมือpostconfเพื่อตรวจสอบค่าที่กำหนดไว้ในปัจจุบัน:

postconf message_size_limit

7

ระวังถ้าตั้งค่าขีด จำกัด นี้เป็นจำนวนสูง คุณต้องการmessage_size_limitพื้นที่ว่างอย่างน้อย 1.5 เท่าของพื้นที่ว่างบนพาร์ติชันที่มีคิว Postfix อยู่ หากคุณไม่มีพื้นที่ว่างแล้วข้อความทั้งหมดจะถูกปฏิเสธแม้ว่าจะมีขนาดเพียงไม่กี่กิโลไบต์ และถ้าคุณได้รับหนึ่งข้อความที่มีขนาดนี้พื้นที่นั้นเกิน (ในระหว่างการจัดส่งกล่องจดหมายสุดท้าย) ข้อความเพิ่มเติมทั้งหมดจะถูกปฏิเสธ เนื่องจากพื้นที่ว่างหายไป

หมายเหตุ: อีเมลไม่ใช่โปรโตคอลการถ่ายโอนไฟล์ ดู QA นี้: ทำไมเรายังมีข้อ จำกัด ขนาดไฟล์แนบของอีเมลขนาดเล็กเช่นนี้


4

อย่าลืมที่จะตั้งค่า

virtual_mailbox_limit = <size_in_bytes>

ถ้าคุณใช้การตั้งค่ากล่องจดหมายเสมือน เอาทุกเพศทุกวัยฉันไปหาสิ่งนี้ดูเหมือนจะไม่มีใครพูดถึงมัน ;)


2
ขอขอบคุณที่แสดงความคิดเห็น - แต่นี้จะดีกว่าที่เป็นแก้ไขปัญหาคำตอบที่มีอยู่และ / หรือเป็นความคิดเห็นเกี่ยวกับมัน :)
วอร์เรน

2
คุณพูดถูก จะลบคำตอบนี้
ISparkes

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