Open Default Email and populate Message with Text from VB.NET

Hi Experts!

I need a button in an ASP.NET web app that when clicked will open the users default mail application and populate the body of the email message with text from the current webform.. anydirection on how do do this will be greatly appreciated
thanks ;)
jcraunAsked:
Who is Participating?
 
iboutchkineConnect With a Mentor Commented:
it's either
body=" & txt1.text & "  " & txt2.text & "';"  ' to have space between txtboxes
or
body=" & txt1.text & Environment.NewLine  & txt2.text & "';"

2. It is not in Page load event. In Page Load event you only attach an atribute to the button click event. It will work on Button1_Click event

Another Approach is to register the JS under the button clcik event

   Me.RegisterStartupScript("key", _
  "<script language='javascript'>window.location=mailto:bla@bla.com?subject=Iouri demo&body=bla bla bla';"</script>")

0
 
iboutchkineCommented:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
Me.Button1.Text = "Send Mail"
Me.Button1.Attributes("onClick") =
"window.location='mailto:bla@bla.com?subject=Iouri demo&body=bla bla bla';"
End If
End Sub
0
 
jcraunAuthor Commented:
Neat thanks!.. okay... so what if I need the body of the message to be a concatention of the input of several textboxes from the form that the send email button is on?
0
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
iboutchkineCommented:
In this case instead of
...body=bla bla bla';"
use
...body=" & txt1.text & " " & txt2.text & "';"
0
 
jcraunAuthor Commented:
Okay getting closer.... Only problem is:

1. how do you format the body?
I tried
body=" & txt1.text & " <br> " & txt2.text & "';"
and I got:   bob <br> nancy
instead of:
bob
nancy

2. Is there any way to get this to work when it is not in the Page Load event because the user needs to fill out the form/textboxes and then submit the email..

Thanks for your patience!
0
 
jcraunAuthor Commented:
I think I could eventually make that way work but I am not very familiar w/JS and I need a lot of formatting in the email such as bold, and line breaks etc... and these are long emails.....

here is and example of the way I have been sending emails.. but if I could just make it Display rather than send would be my best option. Do you know how to do it this way? Or what I would have to add?

******************************************************************************************
            Dim genfunc As New GeneralFunctions()
            Dim name As String
            name = genfunc.GetFname(ddlOwner.SelectedItem.ToString)
             strEmailrecip = genfunc.GetEmail(strOwner)

            'send an email when message is submitted
            Dim mailMessage As System.Web.Mail.MailMessage = New System.Web.Mail.MailMessage()
            mailMessage.From = "do_not_reply@test.com"
            mailMessage.To = strEmailrecip
            mailMessage.Subject = "New Crit_Sit Task submitted"
            mailMessage.BodyFormat = System.Web.Mail.MailFormat.Html
            mailMessage.Body = "<font face=arial size=2>"
            mailMessage.Body &= strMessage & "<br><br><br>"
            mailMessage.Body &= strMessage1 & "<br>"
            mailMessage.Body &= "<b>" + "Task Description:" + "</b>" + "<br>"
            mailMessage.Body &= txtTaskDescription.Text + "<br>"
            mailMessage.Body &= "<b>" + "Due Date:" + "</b>" + "<br>"
            System.Web.Mail.SmtpMail.SmtpServer = "test.test.com"
            System.Web.Mail.SmtpMail.Send(mailMessage)
0
 
iboutchkineCommented:
WHat you are doing is absolutely different from what you asked. YOur code sends SMTP email, that runs as Default SMTP server on your server. Server will be sending email, not a client
You asked to open the default email client on th eclient machine
Both approaches are good and you have to decide which one you prefer
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.