iPhone won't receive vCards!

OK, so we held out as long as we could, but finally got iPhones for the entire Mac-fanatic family, and by and large, we're in love.

However... we're probably going to want to trade a bunch of address book entries, so I decided to test out how that might work. I exported a vCard from Address Book, and emailed it via thunderbird (as an attachment) to my gmail account, which the iPhone polls via iMap (this is with the latest iPhone software, of course)

When the mail arrives at the iPhone, however, the summary is that the message has no content. When you read the email, it shows the vCard -- as raw text, not as an attachment. There's no way to add it to the contact list. Also, there's a fractional second of delay before the vCard's text appears, so I think the iPhone is opening the attachment and deciding to just display it as text.

The copies of the emails forwarded back from gmail to my main email address contain the vcard as an attachment, so I don't think gmail is at fault (unless it is a weird iMap problem).

A search of the current iPhone manual seems to imply that .vcf isn't a supported attachment type, yet reading around the discussions seems to imply that it is (or was). What gives?

Obviously I could work around things by just exporting the desired vcards and emailing them to the family's laptops for syncing to the iPhones, but I'd still like to know what's going on.

MacBook Pro, 17", 3G RAM, Mac OS X (10.5.1)

Posted on Jan 17, 2008 6:03 AM

Reply
6 replies

Jan 17, 2008 7:05 AM in response to Robert Woodhead

Robert Woodhead,

It sounds like somewhere along the way, the vCard is being converted from being an attachment to part of the body of the message.

Have you tried sending an email with text in the body as well as the vCard as an attachment?

Have you tried sending it from a different mail client?

Have you tried sending it from the GMail web interface, attaching it, even if you send it to yourself?

Hope this helps,

Nathan C.

Jan 18, 2008 2:26 PM in response to Nathan C

Based on a lot of testing (thanks for the suggestions), I've figured out that the culprit is Thunderbird, the open-source email app I use.

Apparently, thunderbird does not by default know that the proper mime type for a .vcf file is text/vcard. Comparing vcf files sent by both gmail and thunderbird in bbedit shows that gmail sends the file as text/vcard, and thunderbird sends it as text/text (the default). So the iPhone think's it's just some text to display - and thus the problem.

Teaching thunderbird the proper mime type for an attachment is not obvious at all, but there is a way to trick it into learning.

1) Send a vcard from your google mail account to the account you use with thunderbird. This will contain a proper text/vcard attachment.

2) When the mail arrives, double-click on it. Thunderbird will ask what to do with this type of file; tell it to open it with Address Book.

3) Thunderbird now saves a record in the mimetypes.rdf file buried in ~/Library/Thunderbird/<profile name, usually gibberish>/ that says ".vcf files get opened by Address Book, and oh, by the way, they have mime type text/vcard"

Unfortunately, even though Thunderbird will send the attachment with the correct mime type, it uses the wrong Content-Transfer-Encoding. The iPhone apparently expects vCards to be encoded as base64, but Thunderbird will use 7bit, and I haven't found a way to teach it the error of its ways (if, in fact it is an error -- it may be a subtle iPhone inadequacy)

Jan 18, 2008 2:41 PM in response to Robert Woodhead

Unfortunately, even though Thunderbird will send the attachment with the correct mime type, it uses the wrong Content-Transfer-Encoding. The iPhone apparently expects vCards to be encoded as base64, but Thunderbird will use 7bit, and I haven't found a way to teach it the error of its ways (if, in fact it is an error -- it may be a subtle iPhone inadequacy)


I wouldn't see it as an inadequacy, more so maybe, as an over-sight.

Since Thunderbird isn't mainstream per say, they may not have accounted for those of us who do use it.
They put their efforts to the development of more mainstream apps(outlook/mail/etc).
They certainly cannot account for every use out there. Thunderbird is a popular client, but perhaps not popular enough for them to specifically code for.

PS:

Thank you for the insight into this, as I experienced similar problems. I am going to use your advice now!

Jan 18, 2008 4:57 PM in response to th3_r3n3g4d3

I now have a final solution, thanks to some help from the Mozilla Support Forums (I launched a double-barreled attack).

The problem turns out not to be Content-Transfer-Encoding, but Content-Disposition. The iPhone is expecting a disposition of "Attachment", and Thunderbird by default sends it as "Inline".

The fix in Thunderbird is as follows:

1) Go to ThunderBird -> Preferences; Advanced button, General Tab, click on Config Editor...

2) In the filter field, enter "mail.content dispositiontype"

3) Right click on the preference, select modify, change it to 1 (it defaults to 0)

4) Exit the editor, quit & relaunch TB just to be safe, and you are good to go.

If you need for some reason to force Thunderbird to send all attachments, even text ones, as binary, set mail.file attachbinary to true. I include this tidbit as google bait to help the next poor sap with this problem.

Finally, it turns out that you apparently do not need to force Thunderbird to send .vcf files as text/vcard. I backed off that change after finding the inline/attachment fix to test it, Thunderbird then sent it as text/plain, and the iPhone seems to be happy with that.

The problem seems to be entirely related to Content-Disposition: inline.

Thanks for the help!

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

iPhone won't receive vCards!

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.