[案例分享]電郵搬家

2024-12-06

除了虛擬主機日常維運,替新客戶搬遷資料也佔我們不少工作量的比例。很多人以為搬家只是工程師按一下就能完全工作,實際上每次搬遷都有機會遇到意想不到的狀況。

這一次分享的個案,客人在舊廠商的虛擬主機空間已經用滿,所以不能透過cPanel導出備份,關於這個部份我們有經驗處理,就是部份資料先用FTP導出,也不困難,我們一天內就幫客戶移轉好。

但問題來了,第二天客人回報郵箱子資料夾內的郵件都打不開。應該是因為郵箱資料直接經FTP導出,缺了格式轉換(UTF8轉UTF7)的過程,導致中文名稱的資料夾都打不開。那天我們立即寫了一個小程序進行轉換,解決客人的問題。

因為時差關係,廠商沒有立刻回覆,所以當天真的是我們自己用python寫了一個轉換出來。如果有其他朋友遇到一模一樣的問題,可以參考以下的轉換方式 (這個是後來廠商提供,不是我們自己寫的)。

flat_maildir_utf8_to_mutf7() {
local maildir=$1 olddir newdir oldsub newsub
find "${maildir}" -mindepth 1 -maxdepth 1 -type d -printf '%P\n' | while IFS= read -r olddir; do
# stderr is ignored to silence:
# Error: net_connect_unix(/var/run/dovecot/stats-writer) failed: Permission denied
if ! newdir=$(doveadm mailbox mutf7 -8 "${olddir}" 2> /dev/null); then
continue
fi
if [ -z "${olddir}" ] || [ -z "${newdir}" ] || [ "${olddir}" = "${newdir}" ]; then
continue
fi
mv "${maildir}/${olddir}" "${maildir}/${newdir}"
if [ -f "${maildir}/subscriptions" ]; then
# Convert dir separator from . to \t
oldsub=${olddir//./$'\t'}
newsub=${newdir//./$'\t'}
# Strip leading separator and escape for regex
oldsub=$(sed 's/[.[*^\/&$]/\&/g' <<< "${oldsub:1}")
newsub=$(sed 's/[.[*^\/&$]/\&/g' <<< "${newsub:1}")
# Update subscriptions file
sed -i "s/^${oldsub}$/${newsub}/" "${maildir}/subscriptions"
fi
done
}

科比擁有經營虛擬主機、網站代管20年經驗與眾多口碑青睞,網頁相關服務都可以交給我們!

 

優惠的年費與貼心售後服務一直是我們致力想提供給客戶的,持續創新與進步的技術支援、解決需求,希望讓客戶用划算的價格體驗最好的服務!

你也會喜歡

科比教室

2025-11-13

使用Cloudflare Zerotrust讓WordPress更安全

相信有很多用家會使用Cloudflare 的CDN功能讓網站提速,而其實Cloudflare 還有許多實用功能 […]

IT新聞, 個案分享

2025-10-21

使用台灣主機排除海纜影響?

從星期六開始 (10/18),我們陸續有收到客戶查詢需要從國外廠商搬遷網站到我們的台灣主機,因為網站突然變得超 […]

個案分享

2025-10-20

「被入侵的網站」,Google廣告被拒絕?

最近收到客戶求助,在Google 刊登的廣告突然被拒絕,原因是「被入侵的網站」。而客戶其實有嘗試透過 Goog […]

個案分享, 科比服務

2025-09-30

「接案專用方案」的優勢與誤解

「接案專用方案」是科比其中一個非常受客戶歡迎的方案,然而有些不是我們的客戶,甚至於已經在使用「接案專用方案」的 […]

個案分享

2025-09-16

網域聯絡人資料(WHOIS)的重要性

偶爾我們會看到有些客戶會嘗試用假的聯絡資訊去註冊網域,也許是因為隱私考量。那當然,沒事就沒事,有事的話就非常麻 […]

個案分享

2025-09-16

搬遷網站經常忽略的SOP

先說結論:搬遷必須預留時間,避免出現舊廠商「明天到期,今天搬家」的情況。 我們一般搬遷流程大概是這樣 一、假如 […]

買主機送網域

購買虛擬主機,即贈送一年網域名稱

買主機送網域

購買虛擬主機,即送一年網域名

買主機送網域

購買虛擬主機,即贈送一年網域名稱