在Linux上将Outlook pst转换为Thunderbird / Evolution兼容格式的脚本
版本1.0
作者:Srijan Kishore
初步说明
我已经从Outlook2010中提取了Outlook.pst。我假设你将有你的 Sample.pst可用。
要求
我的Ubuntu 12.04LTS安装在我的机器,它有Thunderbird作为默认邮件客户端。您也可以使用Evolution作为您的电子邮件客户端。
注意: 根据Microsoft标准, 5Gb以上的任何pst文件不可靠,用于存储邮件。所以我建议你的Sample.pst文件 少于5GB 。
脚本
我通过脚本简化了进程。只需将脚本复制到剪贴板中,并粘贴到一个文本文件(如script.sh)并保存文件。脚本如下:
#!/bin/bash
###############################################################################################
###############################################################################################
###############################################################################################
###### This script will help to convert the Microsoft outlook PST file ##########
###### into Thunderbird/Evolution compatible format ##########
###### Script created by Srijan Kishore ##########
###############################################################################################
###############################################################################################
###############################################################################################
#check user
if [ "$USER" = 'root' ]
then
echo "User check passed"
else gdialog --title "User Check" --msgbox "User is not Root. Please run the script as root user." 200 150
echo "User is not Root. Please run the script as root user."
exit 1
fi
#OS check
cat /etc/debian_version > /dev/null
if [ $? != 0 ]; then
gdialog --title "OS check" --msgbox "You are not using Debian/Ubuntu, Install readpst package from http://www.five-ten-sg.com/libpst/rn01re01.html" 200 150
else
readpst -V > /dev/null
if [ $? != 0 ]; then
apt-get update
apt-get -y install readpst
fi
fi
mkdir ~/home/outlook
#File selection
readpst -o ~/home/outlook -r `zenity --file-selection`
find ~/home/outlook -type d | tac | grep -v '^~/home/outlook$' | xargs -d '\n' -I{} mv {} {}.sbd
find ~/home/outlook.sbd -name mbox -type f | xargs -d '\n' -I{} echo '"{}" "{}"' | sed -e 's/\.sbd\/mbox"$/"/' | xargs -L 1 mv
#Script Completion
find ~/home/outlook.sbd -empty -type d | xargs -d '\n' rmdir
gdialog --title "Pst Conversion complete" --msgbox "Your pst conversion is complete,just paste the folder ~/home/outlook.sbd in Local Folder in Thunderbird/Evolution and you can use the folders there" 200 150
4.脚本执行
复制将脚本粘贴到您创建的文件中。使用命令chmod给文件y赋予执行权限chmod +x script.sh
我将推荐使用srcipt作为root用户。它将完成如下: -
sudo -i #### Put your system login password##########
该脚本将首先确认您的系统中已安装所需的readpst包。然后它将要求浏览Sample.pst文件,只需浏览并选择文件,休息将由脚本完成。
脚本执行后,将生成/home/outlook.sbd文件夹
5.定稿
在Home文件夹中,选择“ 查看并选择SHOW HIDDEN FILES”或者prss ctl + h
它将打开您的主目录中的隐藏文件夹。现在浏览为.thunderbird - > user.default - >邮件 - >本地文件夹
复制粘贴文件夹在该位置。现在从dektop上的启动器图标打开雷鸟。右键单击本地文件夹,然后创建一个新的文件夹。 outlook(在我的情况下,文件夹名称是outlook.sbd)。我们完成了。关闭Thunderbird并再次打开雷鸟。
现在,您将能够看到Thunderbird中的所有pst邮件。