Запуск Pocket Outlook для отправки e-mail

Всё о КПК (PPC)

Модератор: чипега

Аватара пользователя
Blaze
Информатик-аналитик
Информатик-аналитик
Сообщения: 8933
Зарегистрирован: 24.05.2007 17:23
Модель телефона: POCO X3 Pro 6/128
Прошивка: crDroid v7.7
Sat-ресивер: Tiviar Mini HD
Откуда: Данков
Контактная информация:

Запуск Pocket Outlook для отправки e-mail

Непрочитанное сообщение#1 » Blaze » 26.06.2009 17:22

Запуск Pocket Outlook из приложения для отправки электронной почты.

Для решения задачи необходимо запустить файл \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);
Есть и другой вариант, более похожий на стандартную передачу параметров Windows-приложению.
Для этого используются параметры
-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();
}
Полный пример вы можете скачать здесь: POutlookTest.zip (11 KB)

Александр Игнатьев,
_http://www.vestace.ru_

Ответить