Подтвердить что ты не робот

Как отправить электронное письмо с приложения Windows Phone 8?

В проекте Windows Forms я использовал класс SmtpClient и MailMessage для отправки информации по электронной почте.

Есть ли эквивалент для Windows Phone 8?

4b9b3361

Ответ 1

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

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

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

В Windows Phone нет доступных SMTP API.

Ответ 2

Это действительно просто! Это от 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();

Ответ 3

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

Ответ 4

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

Ответ 5

Если вы разрабатываете универсальное приложение Windows Phone для Windows, вы можете использовать пространство имен 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);

Ответ 6

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

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

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

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