Linux:将Roundcube Webmail联系人从SQL导出到CSV

时间:2020-02-23 14:39:34  来源:igfitidea点击:

这是一个过程,说明如何将Roundcube Webmail中保存的通讯录联系人直接从MySQL数据库导出到CSV文件(请注意,Roundcube本机支持将联系人从Webmail本身导出到CSV,仅在您要退出时才使用此方法数据库中的旧联系人)。

1.使用shell,使用MySQL客户端访问Roundcube数据库:

mysql -u dbuser -p roundcubedb

2.使用确切的语法在下面发出select命令,仅使用您要从中导出联系人的实际用户电子邮件地址修改" [email protected]"部分:

select user_id from users where username='[email protected]';

输出示例:

mysql> select user_id from users where username='[email protected]';
+---------+
| user_id |
+---------+
|      10 |
+---------+
1 row in set (0.00 sec)

3.可选:要查看此用户通讯录中的现有联系人,请发出以下命令:

select name,email from contacts where user_id=10;

输出示例:

mysql> select name,email from contacts where user_id=10;
+-------------------------------------------+--------------------------------------------------------------------+
| name                                      | email                                                              |
+-------------------------------------------+--------------------------------------------------------------------+
| John Doe                                  | [email protected]                                                |
| Jane Doe                                  | [email protected]                                                |
| Whatever Doe                              | [email protected]                                            |
+-------------------------------------------+--------------------------------------------------------------------+
3 rows in set (0.00 sec)

4.退出MySQL客户端:

exit

5.使用以下命令创建CSV文件方案:

echo "First Name,Last Name,Display Name,Nickname,Primary Email,Secondary Email,Screen Name,Work Phone,Home Phone,Fax Number,Pager Number,Mobile Number,Home Address,Home Address 2,Home City,Home State,Home ZipCode,Home Country,Work Address,Work Address 2,Work City,Work State,Work ZipCode,Work Country,Job Title,Department,Organization,Web Page 1,Web Page 2,Birth Year,Birth Month,Birth Day,Custom 1,Custom 2,Custom 3,Custom 4,Notes," > user.domain.tld.contacts.csv

6.发出此命令以将联系人导出到我们先前定义的CSV文件中(根据需要替换CSV文件输出的名称):

mysql -u dbuser -p roundcubedb -qbse "select name,email from contacts where user_id=10;" |sed 's/\t/,/g' | sed 's/^/,,/g' >> user.domain.tld.contacts.csv