Как да изпратя имейл от приложение на Windows Phone 8?

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

Има ли еквивалент за Windows Phone 8?


person user2087149    schedule 19.02.2013    source източник


Отговори (6)


Можете да използвате Microsoft.Phone.Tasks.EmailComposeTask, за да съставите имейл с помощта на вградения имейл клиент:

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

Като алтернатива можете да публикувате данни в услуга на трета страна, като SendGrid, за да изпратите имейла чрез API.

Няма налични SMTP API на Windows Phone.

person LewisBenge    schedule 20.02.2013
comment
Благодаря Ви за отговора! - person user2087149; 20.02.2013

Наистина е просто! Това е от 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();
person Reza Shayestehpour    schedule 27.09.2013
comment
можем ли да прикачим файл тук, а не в потребителския интерфейс на задачата? - person Nilesh Moradiya; 04.02.2014

Трябва да използвате функционалността sharing. Това ще ви позволи да създадете имейл шаблон (задайте тема, текст, получател и т.н.) и да го отворите за потребителя, така че той или тя да може просто да щракне върху „изпрати“. Няма такова нещо като smtp клиент, за добро или за лошо. Ето хубаво описание на опциите ви да изпратите нещо от Windows Phone 8.

person Haspemulator    schedule 19.02.2013

Можете също да използвате библиотеката на трета страна LiveMailMesage. Трябва да платите за него, но ще ви позволи да изпращате имейли, без да стартирате EmailComposeTask. Освен това ще ви позволи да добавяте прикачени файлове и подобни неща, ако имате нужда.

person Joel Shea    schedule 20.02.2013

Ако разработвате универсално 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);
person Rem's    schedule 01.10.2014

Доколкото търся за това не System.Net.Mail не е наличен в Windows Phone

За много други случаи (особено формуляри за обратна връзка) може да е по-добре да се свържете със специална уеб услуга, вместо да заобикаляте чрез имейл.

И ако пишете клиент за електронна поща и конкретно трябва да се свържете с пощенския сървър, тогава няма нищо в кутията, така че ще трябва или да се свържете с API за специфична услуга (много съвременни пощенски услуги поддържат REST клиенти) или да внедрите SMTP себе си.

Ще бъде лесно да създадете API за изпращане на Json до сървъра и SMTP ще бъде конфигуриран там.

person Yksh    schedule 05.08.2015
comment
това не е отговорът на въпроса. - person DeshDeep Singh; 05.08.2015