In case someone else runs into this problem, and for my own future reference, here's a quick fix on MySQL. It needs to also pull the user's full name from /etc/passwd, but getting the email address correct was much more important at this point. This pulls *all* emails from /etc/mail/virtusertable.
echo "SELECT username FROM users" | mysql -p roundcubemail |
sed 's/^.*$/\s\0$/' > users.txt
grep -f users.txt /etc/mail/virtusertable > emails.txt
sed -rne 's/([^ ]*) *([^ ]*)/INSERT INTO identities
(user_id,standard,name,email,signature)
VALUES((SELECT user_id FROM users WHERE username="\2" LIMIT
1),1,"\2","\1","");/p'
emails.txt > identities.sql
sed '1iTRUNCATE TABLE identities;' identities.sql | mysql -p roundcubemail
I would still like it if roundcube would update the identites information on each login. Does anyone know how to make that happen?