Для решения задачи необходимо запустить файл \Windows\tmail.exe, который является не чем иным как исполняемым файлом Pocket Outlook, и передать ему ряд параметров, которые бы указали, что следует открыть форму редактирования письма. Эти параметры подозрительно напоминают аналогичные из HTML

mailto:mail@mail.info?subject=This is subject&body=This is body
Итак, задача свелась к запуску нового процесса:
Код: Выделить всё
using System.Diagnostics;
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "\\windows\\tmail.exe";
psi.Arguments = "mailto:" + txtEmail.Text + "?subject=" + txtSubject.Text +"&body=" + txtBody.Text;
psi.UseShellExecute = true;
Process.Start(psi);
Для этого используются параметры
-to "<e-mail>" адрес отправителя
-сс "<e-mail>" копия
-bcc "<e-mail>" скрытая копия
-subject "<subject>" тема сообщения
-body "<body>" текст сообщения
-attach "<file name>" файл вложения
-service "<account name>" Имя учетной записи с помощью которой будет создано сообщение. В случае если service не указан и существует более одной учетной записи пользователю будет предложено выбрать учетную запись.
В этом случае строку параметров можно будет создать примерно так:
Код: Выделить всё
private string CreateAgruments()
{
StringBuilder args = new StringBuilder();
args.AppendFormat(null, "-attach \"{0}\" ", txtAttachment.Text);
args.AppendFormat(null, "-to \"{0}\" ", txtEmail.Text);
args.AppendFormat(null, "-subject \"{0}\" ", txtSubject.Text);
args.AppendFormat(null, "-body \"{0}\" ", txtBody.Text);
return args.ToString();
}
Александр Игнатьев,
_http://www.vestace.ru_