I am using the EASendMail SMTP component which I had to install and reference in my windows 8 desktop app. I am using this to send an email with some html content.
private async void btnSend_Click(object sender, RoutedEventArgs e) { btnSend.IsEnabled = false; await Send_Email(); btnSend.IsEnabled = true; } private async Task Send_Email() { var usermail = email_txt.ToString(); String Result = ""; try { SmtpMail oMail = new SmtpMail("TryIt"); SmtpClient oSmtp = new SmtpClient(); // Set sender email address, please change it to yours oMail.From = new MailAddress("[email protected]"); // Add recipient email address, please change it to yours // oMail.To.Add(new MailAddress("[email protected]")); oMail.To.Add(new MailAddress(usermail)); // Set email subject oMail.Subject = "test email from C# XAML project with file attachment"; // Set Html body oMail.HtmlBody = "<font size=5>This is</font> <font color=red><b>a test</b></font>"; // get a file path from PicturesLibrary, // to access files in PicturesLibrary, you MUST have "Pictures Library" checked in // your project -> Package.appxmanifest -> Capabilities Windows.Storage.StorageFile file = await Windows.Storage.KnownFolders.PicturesLibrary.GetFileAsync("test.jpg"); string attfile = file.Path; Attachment oAttachment = await oMail.AddAttachmentAsync(attfile); // if you want to add attachment from remote URL instead of local file. // string attfile = "http://www.emailarchitect.net/test.jpg"; // Attachment oAttachment = await oMail.AddAttachmentAsync(attfile); // you can change the Attachment name by // oAttachment.Name = "mytest.jpg"; // Your SMTP server address SmtpServer oServer = new SmtpServer("smtp.emailarchitect.net"); // User and password for ESMTP authentication oServer.User = "[email protected]"; oServer.Password = "testpassword"; // If your SMTP server requires TLS connection on 25 port, please add this line // oServer.ConnectType = SmtpConnectType.ConnectSSLAuto; // If your SMTP server requires SSL connection on 465 port, please add this line // oServer.Port = 465; // oServer.ConnectType = SmtpConnectType.ConnectSSLAuto; await oSmtp.SendMailAsync(oServer, oMail); Result = "Email was sent successfully!"; } catch (Exception ep) { Result = String.Format("Failed to send email with the following error: {0}", ep.Message); } // Display Result by Diaglog box Windows.UI.Popups.MessageDialog dlg = new Windows.UI.Popups.MessageDialog(Result); await dlg.ShowAsync(); } The above should send an email to the email address entered in a TextBox on the XAML page when a button is clicked
<TextBox x:Name="email_txt"></TextBox> <Button x:Name="email_btn" Content="Emial Me" Click="email_btn_Click"/> The code should send the email to whatever email address is enetered in email_txt when the button email_btn is clicked.
For this I put the textbox value in a varible var usermail = email_txt.ToString(); and call the variable usermail in oMail.To.Add(new MailAddress(usermail));. But with this I get the error below:

It doesn't recognize the email address in usermail.
However if I were to enter an email address directly into the code such as oMail.To.Add(new MailAddress("[email protected]"));, it work fine and the email is sent to [email protected].
How do I fix this so that the email is sent to address specified in the TextBlock?