Friday, February 11, 2011

How to open a new email, and assign subject, using .NET Compact Framework

Basically I'm trying to accomplish the same thing that "mailto:bgates@microsoft.com" does in Internet Explorer Mobile.

But I want to be able to do it from a managed Windows Mobile application. I don't want to send an email pro grammatically in the background.

I want to be able to create the email in Pocket Outlook and then let the user do the rest.

Hopefully that helps you hopefully help me!

  • I assume you use C#. You add a reference to System.Diagnostics and then write the following code:

    ProcessStartInfo psi = 
      new ProcessStartInfo("mailto:bla@bla.com?subject=MySubject", "");
    Process.Start(psi);
    

    This will start the default email client on your mobile device.

    The mailto protocol definition might come handy too.

    CJCraft.com : Thanks Petros! Great answer, worked perfectly and was clean and simple, which is something I really wanted and needed. You really helped me out.
    Petros : No problem! I am glad I could help you!
    From Petros
  • You can also use Microsoft.WindowsMobile.PocketOutlook.MessagingApplication.DisplayComposeForm like so:

    OutlookSession sess = new OutlookSession();
    EmailAccountCollection accounts = sess.EmailAccounts;
    //Contains all accounts on the device  
    //I'll just choose the first one -- you might want to ask them
    MessagingApplication.DisplayComposeForm(accounts[0], 
        "someone@somewhere.com", "The Subject", "The Body");
    

    The DisplayComposeForm method has a lot of overloads with options for attachments and more.

    Muxa : Thanks, Jake, that's exactly what i've been looking for.

0 comments:

Post a Comment