2013-02-19 7 views

ответ

3

Вы должны использовать функциональность sharing. Это позволит вам создать шаблон электронной почты (установить тему, тело, получатель и т. Д.) И открыть его пользователю, чтобы он или она могли просто нажать «отправить». Ничего такого, как клиент smtp, ни лучше, ни хуже. Here «са хорошее описание ваших вариантов, чтобы отправить что-то из Windows Phone 8.

8

Вы можете использовать Microsoft.Phone.Tasks.EmailComposeTask составить электронную почту, используя встроенный почтовый клиент:

var task = new EmailComposeTask {To = email}; 
    task.Show(); 

В качестве альтернативы вы можете разместить данные к Сторонняя услуга, такая как SendGrid, чтобы отправить электронное письмо через API.

Нет SMTP API доступны на Windows Phone.

+0

Спасибо за ваш ответ! – user2087149

2

Вы также можете использовать стороннюю библиотеку LiveMailMesage. Вы должны заплатить за это, но это позволит вам отправлять электронные письма без запуска EmailComposeTask. Он также позволит вам добавлять вложения и тому подобное, если вам нужно.

8

Это действительно просто! Это из MSDN:

Сначала следует добавить:

using Microsoft.Phone.Tasks; 

в код, а затем для персонализации и собирается почты приложение добавить следующее:

EmailComposeTask emailComposeTask = new EmailComposeTask(); 

    emailComposeTask.Subject = "message subject"; 
    emailComposeTask.Body = "message body"; 
    emailComposeTask.To = "[email protected]"; 
    emailComposeTask.Cc = "[email protected]"; 
    emailComposeTask.Bcc = "[email protected]"; 

    emailComposeTask.Show(); 
+0

можно ли подключить файл здесь, а не в пользовательском интерфейсе задачи? –

2

Если вы разрабатываете Универсальное приложение WinRT для Windows Phone, вы можете использовать пространство имен Windows.ApplicationModel.Email.EmailMessage, поскольку пространство имен Microsoft.Phone.Tasks.EmailComposeTask не работает в приложении WinRT.

Затем этот код используется для создания и запуска нового электронного письма.

// Create your new email message. 
var em = new EmailMessage() ; 

// Add as much EmailRecipient in it as you need using the following method. 
em.To.Add(new EmailRecipient("[email protected]")); 
em.Subject = "Your Subject..."; 
em.Body = "Your email body..."; 
// You can add an attachment that way. 
//em.Attachments.Add(new EmailAttachment(...); 

// Show the email composer. 
await EmailManager.ShowComposeNewEmailAsync(em); 
0

Насколько я искать об этом нет System.Net.Mail не не доступно в Windows Phone

Для многих других случаев (особенно формы обратной связи) вы можете лучше подключение к выделенной сети а не обхода через электронную почту.

И если вы пишете почтовый клиент и, в частности, должны быть подключены к почтовому серверу, то в коробке нет ничего, поэтому вам нужно будет либо подключиться к API-интерфейсу службы (многие современные службы почтовых служб поддерживают REST клиентов) или реализовать SMTP самостоятельно.

Будет легко создать API для отправки Json на сервер, и SMTP будет настроен там.

+0

это не ответ на вопрос. –