กล่องจดหมายเต็ม วิธีลดขนาดและวางแผนโควตา
ข้อความว่ากล่องจดหมายเต็มมักมาพร้อมกับผลที่ร้ายแรงกว่าที่คิด เพราะเมื่อเต็มแล้วอีเมลใหม่จะถูกตีกลับ ผู้ส่งได้รับแจ้งว่าส่งไม่ถึง และอีเมลสำคัญจากลูกค้าอาจหายไปโดยที่เจ้าของกล่องไม่รู้เลย
คู่มือนี้แก้ปัญหาเฉพาะหน้าและวางระบบไม่ให้เกิดซ้ำ ทั้งการแจ้งเตือนล่วงหน้าและนโยบายจัดเก็บอีเมลเก่า
สิ่งที่ต้องเตรียม
- สิทธิ์ผู้ดูแลระบบอีเมล หรือสิทธิ์เข้าเว็บเมลของบัญชีนั้น
- เซิร์ฟเวอร์ที่ใช้ Dovecot สำหรับคำสั่งในคู่มือนี้
ขั้นตอนที่ 1: ดูว่าใครใกล้เต็มบ้าง
# ดูโควตาของบัญชีเดียว
sudo doveadm quota get -u [email protected]
# ดูทุกบัญชี เรียงจากที่ใช้มากที่สุด
sudo doveadm quota get -A 2>/dev/null \
| awk 'NR>1 && $2=="STORAGE" {printf "%-34s %6s%% %s/%s KB\n", $1, $5, $3, $4}' \
| sort -k2 -rn | head -20
ดูขนาดจริงบนดิสก์
sudo du -sh /home/vmail/example.com/* 2>/dev/null | sort -h | tail -15
ขั้นตอนที่ 2: หาว่าอะไรกินพื้นที่
# ขนาดแยกตามโฟลเดอร์
sudo doveadm mailbox status -u [email protected] 'vsize' '*' \
| sort -t= -k2 -rn | head -15
# จำนวนอีเมลแยกตามโฟลเดอร์
sudo doveadm mailbox status -u [email protected] 'messages' '*'
สิ่งที่มักพบเป็นอันดับต้น ๆ
- โฟลเดอร์ Sent ที่มีอีเมลพร้อมไฟล์แนบสะสมหลายปี ซึ่งมักใหญ่กว่า Inbox
- ถังขยะที่ไม่เคยถูกล้าง
- โฟลเดอร์สแปมที่สะสมอัตโนมัติ
- อีเมลไม่กี่ฉบับที่มีไฟล์แนบขนาดหลายสิบเมกะไบต์
ขั้นตอนที่ 3: หาอีเมลที่มีไฟล์แนบขนาดใหญ่
# อีเมลที่ใหญ่กว่า 10 MB
sudo doveadm search -u [email protected] LARGER 10485760
# แสดงรายละเอียดพร้อมขนาดและหัวข้อ
sudo doveadm fetch -u [email protected] 'hdr.subject hdr.date size.physical' \
LARGER 10485760 2>/dev/null | head -60
การลบอีเมลขนาดใหญ่เพียงยี่สิบฉบับมักคืนพื้นที่ได้มากกว่าการลบอีเมลธรรมดาหลายพันฉบับ จึงควรเริ่มจากตรงนี้
ขั้นตอนที่ 4: ล้างอย่างปลอดภัย
ทำตามลำดับจากที่ปลอดภัยที่สุดไปหาที่ต้องระวัง
# 1. ล้างถังขยะที่เก่ากว่า 30 วัน
sudo doveadm expunge -u [email protected] mailbox Trash savedbefore 30d
# 2. ล้างสแปมที่เก่ากว่า 14 วัน
sudo doveadm expunge -u [email protected] mailbox Junk savedbefore 14d
# 3. ดูก่อนว่าจะลบอะไรใน Sent ที่เก่ามาก
sudo doveadm search -u [email protected] mailbox Sent savedbefore 2y LARGER 5242880 | wc -l
ตรวจจำนวนก่อนลบเสมอ และแจ้งเจ้าของบัญชีก่อนแตะโฟลเดอร์ที่ไม่ใช่ถังขยะและสแปม
# บีบอัดพื้นที่หลังลบ สำหรับ Maildir
sudo doveadm quota recalc -u [email protected]
sudo doveadm quota get -u [email protected]
คำสั่ง quota recalc จำเป็นเพราะตัวเลขโควตาถูกเก็บแยกและอาจไม่อัปเดตทันที
ขั้นตอนที่ 5: ย้ายอีเมลเก่าไปจัดเก็บแทนการลบ
วิธีที่ดีกว่าการลบคือย้ายไปโฟลเดอร์จัดเก็บที่ไม่นับโควตา หรือส่งออกเป็นไฟล์
# สร้างโฟลเดอร์จัดเก็บ
sudo doveadm mailbox create -u [email protected] Archive.2023
# ย้ายอีเมลเก่าเข้าไป
sudo doveadm move -u [email protected] Archive.2023 \
mailbox INBOX savedbefore 2024-01-01
ส่งออกเป็นไฟล์เพื่อเก็บนอกเซิร์ฟเวอร์
# ส่งออกเป็นไฟล์ mbox
sudo doveadm fetch -u [email protected] text \
mailbox INBOX savedbefore 2023-01-01 > /backup/user-2022.mbox
# หรือคัดลอกโฟลเดอร์ Maildir ทั้งโฟลเดอร์
sudo tar czf /backup/user-archive.tar.gz \
-C /home/vmail/example.com/user/Maildir .Archive.2023
ผู้ใช้เปิดไฟล์ mbox ได้ด้วย Thunderbird ซึ่งเป็นวิธีที่สะดวกสำหรับการค้นหาอีเมลเก่านาน ๆ ครั้ง
ขั้นตอนที่ 6: ตั้งโควตาให้เหมาะสม
sudo nano /etc/dovecot/conf.d/90-quota.conf
plugin {
quota = maildir:User quota
quota_rule = *:storage=10G
quota_rule2 = Trash:storage=+500M
quota_rule3 = Junk:storage=+200M
# แจ้งเตือนเมื่อใช้ถึงเกณฑ์
quota_warning = storage=80%% quota-warning 80 %u
quota_warning2 = storage=90%% quota-warning 90 %u
quota_warning3 = storage=95%% quota-warning 95 %u
}
service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
user = vmail
unix_listener quota-warning {
user = vmail
group = vmail
mode = 0660
}
}
กฎที่เพิ่มโควตาให้ถังขยะและสแปมมีประโยชน์ เพราะทำให้อีเมลที่ถูกลบไม่กินโควตาหลักจนเต็ม
ขั้นตอนที่ 7: เขียนสคริปต์แจ้งเตือน
sudo nano /usr/local/bin/quota-warning.sh
#!/bin/sh
PERCENT=$1
USER=$2
cat <<EOF | /usr/lib/dovecot/dovecot-lda -d "$USER" -o "plugin/quota=maildir:User quota:noenforcing"
From: [email protected]
Subject: แจ้งเตือน พื้นที่กล่องจดหมายใช้ไปแล้ว ${PERCENT}%
Content-Type: text/plain; charset=UTF-8
เรียนผู้ใช้งาน
กล่องจดหมาย $USER ใช้พื้นที่ไปแล้ว ${PERCENT}% ของโควตาที่ได้รับ
เมื่อพื้นที่เต็ม อีเมลที่ส่งเข้ามาจะถูกตีกลับและคุณจะไม่ได้รับอีเมลใหม่
วิธีลดพื้นที่
1. ล้างถังขยะและโฟลเดอร์สแปม
2. ลบอีเมลที่มีไฟล์แนบขนาดใหญ่ที่ไม่ต้องการแล้ว
3. ย้ายอีเมลเก่าไปเก็บในโฟลเดอร์จัดเก็บ
หากต้องการเพิ่มพื้นที่ กรุณาติดต่อฝ่ายไอที
ระบบอีเมลอัตโนมัติ
EOF
sudo chmod +x /usr/local/bin/quota-warning.sh
sudo systemctl restart dovecot
ทดสอบว่าการแจ้งเตือนทำงาน โดยตั้งโควตาของบัญชีทดสอบให้ต่ำแล้วส่งอีเมลเข้าไปจนถึงเกณฑ์
ขั้นตอนที่ 8: วางแผนโควตาระดับองค์กร
แนวทางที่ใช้ได้จริงตามลักษณะงาน
- พนักงานทั่วไป 5-10 GB เพียงพอสำหรับการใช้งานหลายปี
- ฝ่ายขายและบริการลูกค้า 15-25 GB เพราะรับส่งไฟล์แนบมาก
- บัญชีกลาง เช่น info หรือ support 20-50 GB เพราะมีปริมาณสูงและหลายคนใช้ร่วมกัน
- ผู้บริหาร 25-50 GB และมักต้องการเก็บย้อนหลังนาน
สำรวจการใช้งานจริงก่อนตั้ง แทนการเดา
sudo doveadm quota get -A 2>/dev/null \
| awk '$2=="STORAGE" {sum+=$3; n++; if($3>max) max=$3}
END {printf "เฉลี่ย %.1f GB สูงสุด %.1f GB จาก %d บัญชี\n", sum/n/1048576, max/1048576, n}'
ตั้งโควตาประมาณสองถึงสามเท่าของค่าเฉลี่ย แล้วเฝ้าดูแนวโน้มการเติบโตทุกไตรมาส
ปัญหาที่พบบ่อย
ลบอีเมลแล้วพื้นที่ไม่ลด
อีเมลที่ลบยังอยู่ในถังขยะ ล้างถังขยะแล้วสั่ง doveadm quota recalc และตรวจว่าโปรแกรมของผู้ใช้ตั้งโฟลเดอร์ถังขยะชี้ไปที่เซิร์ฟเวอร์ ไม่ใช่โฟลเดอร์ในเครื่อง
ตัวเลขโควตาไม่ตรงกับขนาดจริง
sudo doveadm quota recalc -u [email protected]
sudo du -sh /home/vmail/example.com/user
ผู้ใช้ไม่ได้รับอีเมลแจ้งเตือน
ตรวจว่าสคริปต์มีสิทธิ์รันและ dovecot-lda ทำงานได้ ดู Log ที่ /var/log/maillog และตรวจว่าอีเมลแจ้งเตือนไม่ถูกส่งเข้าโฟลเดอร์สแปมเสียเอง
อีเมลถูกตีกลับทั้งที่ยังไม่เต็ม
อาจมีโควตาอีกชั้นที่ระดับโดเมนหรือระดับระบบไฟล์ ตรวจทั้งสองอย่าง
sudo repquota -a | head
sudo df -h /home/vmail
ต้องการระบบอีเมลองค์กรที่มีพื้นที่เพียงพอและมีทีมดูแล ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/
- Categories:
- Cloud
- Tags:
- Cloud
- Cloud Server
Related Posts
หมวดหมู่ที่น่าสนใจ
- Account Settings
- AD Server
- AI
- Alibaba Cloud
- Anti-Spam Gateway
- AWS Amazon Web Services
- Campaign
- CentOS/AlmaLinux
- Cloud
- Cloud Backup
- Cloud Communication
- Cloud Migration
- Cloud Security
- Cloud Server Management
- Cloud Solution
- Cloud Solution for Government
- Cloud Solutions by Industry
- Cloud Storage
- Cloud VPS App Plus +
- Cloud VPS DirectAdmin
- Cloud VPS Plesk
- CSR
- Cyber Security
- Cybersecurity
- Data Sovereignty
- Database Server
- DDoS
- Digital Tranformation
- Digital Transformation
- Direct Mail
- Directadmin
- Domainname
- Ecommerce
- ERP
- Generative AI
- Getting Started
- Google Cloud
- Google G Suite
- Huawei Cloud
- IT News
- Linux Server
- Managed Cloud Services
- Managed Service Provider
- Manual
- Microsoft
- Microsoft 365
- Microsoft Azure
- News
- On-premise
- Private Mail Server
- Promotion
- Recommend Solution (Enterprise)
- Server
- Sovereign Cloud
- THAI DATA CLOUD Platform
- Ubuntu
- Ubuntu
- Uncategorized
- VMware
- VPS Server
- Web Design
- Web Hosting
- Web Hosting (DirectAdmin)
- Web Hosting (Plesk)
- Web Technologies
- Windows Server
- Wordpress
- Zimbra
- เรื่องราวความประทับใจ
- โซลูชันสำหรับธุรกิจการผลิตและยานยนต์
- โซลูชันสำหรับธุรกิจการศึกษา
- โซลูชันสำหรับธุรกิจการเงิน
- โซลูชันสำหรับธุรกิจขนส่งและกระจายสินค้า
- โซลูชันสำหรับธุรกิจค้าปลีก
- โซลูชันสำหรับธุรกิจท่องเที่ยว
- โซลูชันสำหรับธุรกิจบริการสุขภาพและโรงพยาบาล
- โซลูชันสำหรับธุรกิจประกันภัย
- โซลูชันสำหรับธุรกิจพลังงานและสาธารณูปโภค
- โซลูชันสำหรับธุรกิจสื่อสารมวลชนและเอ็นเตอร์เทนเมนท์
- โซลูชันสำหรับธุรกิจอสังหาริมทรัพย์
- โซลูชันสำหรับธุรกิจเทคโนโลยี








