Как послать электронное письмо с помощью почтового клиента по умолчанию?

Попробуйте этот синтаксис для вашего routerLink:

[routerLink]="['/' + navRoute.path + '/' + childs.path]"
20
задан abatishchev 23 November 2010 в 13:36
поделиться

4 ответа

Попробуйте:

    System.Diagnostics.Process proc = new System.Diagnostics.Process();
    proc.StartInfo.FileName = "mailto:someone@somewhere.com?subject=hello&body=love my body";
    proc.Start();
31
ответ дан 29 November 2019 в 23:04
поделиться

Вот что я попробовал:

Process.Start("mailto:demo@example.invalid?subject=" +
    HttpUtility.HtmlAttributeEncode("Application error report") + 
    "&body=" + HttpUtility.HtmlAttributeEncode(memoEdit1.Text));

Но если основной текст слишком велик, я получаю исключение:

Win32Exception "Область данных, передаваемая системному вызову, слишком мала" [

Process.Start("mailto:demo@example.invalid?subject=" +
    HttpUtility.HtmlAttributeEncode("Application error report") + 
    "&body=" + HttpUtility.HtmlAttributeEncode(memoEdit1.Text));

1298] Так что вопрос все еще открыт, так как мне нужно обработать длинный основной текст. Я не знаю предела размера этой ошибки.

4
ответ дан 29 November 2019 в 23:04
поделиться

Правильный способ сделать это - использовать MAPI, но использовать код взаимодействия с MAPI dll. на самом деле не поддерживаемый и не рекомендуемый способ сделать это . Я сделал это, и до тех пор, пока вы очень внимательно относитесь к своему коду взаимодействия и не делаете ничего большего, чем открываете почтовый клиент для отправки электронного письма, вы должны быть в порядке.

Есть несколько проблем с использованием подхода «mailto», наименьшая из которых заключается в том, что вы не можете прикреплять файлы.

10
ответ дан 29 November 2019 в 23:04
поделиться

Если вы работаете только в среде MS Windows, вы можете использовать MAPI32.DLL. Управляемую оболочку можно найти здесь:

http://www.codeproject.com/KB/IP/SendFileToNET.aspx

Код выглядит следующим образом:

MAPI mapi = new MAPI();
mapi.AddAttachment("c:\\temp\\file1.txt");
mapi.AddAttachment("c:\\temp\\file2.txt");
mapi.AddRecipientTo("person1@somewhere.com");
mapi.AddRecipientTo("person2@somewhere.com");
mapi.SendMailPopup("testing", "body text");

// Or if you want try and do a direct send without displaying the mail dialog
// mapi.SendMailDirect("testing", "body text");
10
ответ дан 29 November 2019 в 23:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: