Today I installed Roundcube as a replacement for my Squirrelmail webmail setup. All went well, but Roundcube only accepts adresses in vCard format (.vcf
-format), whereas Squirrelmail only exports in CSV format. To solve this I wrote the following script that converts a Squirrelmail address book to vCard format. The results are sent to stdout
, so run it like this: abook2vcf.awk user@example.com.abook > my_addresses.vcf
.
On my Debian install the Squirrelmail address books (files ending in .abook
are located in /var/lib/squirrelmail/data
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #!/bin/awk # # This script converts a Squirrelmail address book to # vcards for import in Roundcube for example. BEGIN{ FS="|" } { full_name = $1; first_name = $2; last_name = $3; email = $4; print("BEGIN:VCARD"); print("VERSION:3.0"); printf("FN:%s\n", full_name); printf("N:%s;%s;;;\n", last_name, first_name); printf("EMAIL;type=INTERNET;type=HOME;type=pref:%s\n", email); print("END:VCARD"); } |
Huge thanks for your script. I couldn’t get it to work with awk, however. So I a2p on it;
# a2p abook2vcf.awk > abook2vcf.pl
to convert it to a perl script. Then ran per your instructions with the perl modifier;
# perl abook2vcf.pl email.abook > email.vcf
Worked like a charm. Thanks again!
works perfectly!
thanks