2012-10-04 10 views

Antwort

9

Der richtige Weg wäre Sharing zu verwenden. Ihre App sollte ein HTML-Dokument oder einen Text erstellen und freigeben. Der Benutzer würde Mail aus dem Share-Charm auswählen und der HTML/Text würde der Hauptteil der E-Mail werden.

Sehen Sie hier für weitere Informationen ...

http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh973055.aspx

+0

Das Problem damit ist (nicht mit dem Sonderfall in der Frage erwähnt, obwohl), ist, wenn ich e. G. Haben Sie eine Feedback-Taste, kann ich den Benutzer nicht auf die Charm-Leiste umleiten. – jalgames

30

können Sie versuchen, mit

var mailto = new Uri("mailto:[email protected]&subject=The subject of an email&body=Hello from a Windows 8 Metro app."); 
await Windows.System.Launcher.LaunchUriAsync(mailto); 
+0

Verwendung teilen für Windows 8 RT App –

+0

Versucht es und es funktioniert gut, aber ich denke, der "bevorzugte" Weg wäre durch Share Charme. Danke für Ihre Eingabe! –

+4

Der bevorzugte Weg ist nicht immer der Share Charm. Der Share-Charm wird verwendet, wenn Sie bestimmte Inhalte aus Ihrer App freigeben möchten. Zum Beispiel, wenn ich eine Liste von Kontakten in meiner App habe, wenn ich einen Kontakt auswähle und auf Freigabe drücke, würde ich annehmen, dass ich die Kontaktdetails dieses Kontakts teilen und ihm keine Mail senden könnte. Um ihm eine E-Mail zu senden, wähle ich den Kontakt aus und drücke auf ein Mail-Symbol in der App-Leiste, die mailto: verwendet und den Mail-App-Vollbildschirm startet. – GeertvdC

1

Es ist immer möglich, an einen SMTP-Server zu verbinden und Ausgabe-Befehle wie HELO, MAIL, RCPT, usw. Natürlich können Sie einen SMTP-Server benötigen verbinden mit. Ich nutze dies im Intranet unseres Unternehmens, um E-Mails zu senden.

+0

Verwenden Sie Freigabe für Windows 8 RT App –

6

dies die richtige Syntax für eine mailto zu verwenden ist: Link (im Gegensatz zu den anderen Beispielen oben mit einem mailto: welche sind falsch ..)

Das Problem mit der mailto: -Methode ist, wenn der Benutzer kein Client-Programm mit mailto verbunden hat: nichts wird passieren.

Die zuverlässigste zu verwendende Methode ist ein Webdienst oder WCF-Dienst. Die Verwendung des Share Charms, der unter Windows 8 als "korrekt" angesehen wird, ist nicht unbedingt das Beste, da der Benutzer möglicherweise noch keinen E-Mail-Client installiert hat, beispielsweise wenn er sich für seine E-Mails auf gmail.com verlässt.

3

Wenn Sie eine Universal WinRT Windows Phone-Anwendung entwickeln, können Sie den Namespace "Windows.ApplicationModel.Email.EmailMessage" verwenden, da der Namespace "Microsoft.Phone.Tasks.EmailComposeTask" in der WinRT-Anwendung nicht funktioniert.

Dann verwendet diesen Code zum Erstellen und Starten einer neuen E-Mail.

// 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); 

Ich hoffe, es wird Ihr (oder andere Entwickler) Problem lösen.

Grüße.

+1

Eine Möglichkeit, genau das in einer Windows 8 Store App zu tun? – SandRock