Отправка визитной карточки в Outlook с использованием C # .Net - PullRequest
0 голосов
/ 03 ноября 2011

У меня есть особое требование для отправки контактной информации пользователя в качестве визитной карточки в Outlook с помощью C # .Net, она отлично работает и отправляет визитные карточки в Outlook, однако сталкивается с проблемой, когда имя пользователя в формате Unicode.

Sample-1:
- Имя пользователя: Crazy
- Он отлично работает и может просматривать имя пользователя без каких-либо проблем в Outlook.

Sample-2:
- Имя пользователя: Мюллер
- Он отправляет визитную карточку, но в перспективе отображается как «Мюллер».

используемая логика:

  1. подробности будут записаны в файл .vcf (текстовый файл)
  2. файл будет прикреплен к почте.

пример кода :
System.IO.StreamWriter streamWriter = new System.IO.StreamWriter (filePath);
streamWriter.Write (вывод,);
streamWriter.Close ();
streamWriter.Dispose ();

Вложение _mailAttachment = новое вложение (filePath);
_mailAttachment.ContentDisposition.Inline = true;
mailMessage.Attachments.Add (_mailAttachment);
client.Send (MailMessage);

даже пытался кодировать содержимое при записи в файл, однако это не помогает.

Любая помощь, как я могу решить проблему с форматированием Unicode?

Пример содержимого Vcard:
НАЧАТЬ: VCARD
Версия: 2.1
N; CHARSET = UTF-8; ЯЗЫК = о: Мюллер; Александр
FN; CHARSET = CHARSET = UTF-8; ЯЗЫК = ru: Мюллер Александр
ORG: CEF Офис корпоративного развития
НАЗВАНИЕ: Сервис-менеджер
END: VCARD

но все равно имя отображается как "Мюллер, Александр"?

Ответы [ 2 ]

1 голос
/ 06 апреля 2013

Вы можете взглянуть на библиотеку генерации .Net vCard здесь . Он поддерживает то, что вы пытаетесь сделать. Кроме того, вы должны помнить, что обычно файлы vCard должны быть закодированы как ASCII, поэтому вам, вероятно, придется конвертировать в ASCII (например, QUOTED-PRINTABLE), чтобы он работал.

0 голосов
/ 03 ноября 2011

Необходимо указать кодировку для поля с символами Unicode с

CHARSET=utf-8

Например:

N;CHARSET=utf-8:Müller
...