В проекте Windows Forms я использовал класс SmtpClient и MailMessage для отправки информации по электронной почте.Как отправить электронное письмо от приложения Windows Phone 8?
Есть ли эквивалент для Windows Phone 8?
В проекте Windows Forms я использовал класс SmtpClient и MailMessage для отправки информации по электронной почте.Как отправить электронное письмо от приложения Windows Phone 8?
Есть ли эквивалент для Windows Phone 8?
Вы должны использовать функциональность sharing
. Это позволит вам создать шаблон электронной почты (установить тему, тело, получатель и т. Д.) И открыть его пользователю, чтобы он или она могли просто нажать «отправить». Ничего такого, как клиент smtp, ни лучше, ни хуже. Here «са хорошее описание ваших вариантов, чтобы отправить что-то из Windows Phone 8.
Вы можете использовать Microsoft.Phone.Tasks.EmailComposeTask
составить электронную почту, используя встроенный почтовый клиент:
var task = new EmailComposeTask {To = email};
task.Show();
В качестве альтернативы вы можете разместить данные к Сторонняя услуга, такая как SendGrid
, чтобы отправить электронное письмо через API.
Нет SMTP API доступны на Windows Phone.
Вы также можете использовать стороннюю библиотеку LiveMailMesage. Вы должны заплатить за это, но это позволит вам отправлять электронные письма без запуска EmailComposeTask. Он также позволит вам добавлять вложения и тому подобное, если вам нужно.
Это действительно просто! Это из 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();
можно ли подключить файл здесь, а не в пользовательском интерфейсе задачи? –
Если вы разрабатываете Универсальное приложение 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);
Насколько я искать об этом нет System.Net.Mail не не доступно в Windows Phone
Для многих других случаев (особенно формы обратной связи) вы можете лучше подключение к выделенной сети а не обхода через электронную почту.
И если вы пишете почтовый клиент и, в частности, должны быть подключены к почтовому серверу, то в коробке нет ничего, поэтому вам нужно будет либо подключиться к API-интерфейсу службы (многие современные службы почтовых служб поддерживают REST клиентов) или реализовать SMTP самостоятельно.
Будет легко создать API для отправки Json на сервер, и SMTP будет настроен там.
это не ответ на вопрос. –
Спасибо за ваш ответ! – user2087149