问题
I'm new to everything programming and I'm in the process of creating a web form for my personal business that submits the form details to email on a button click. I've done a search, and I haven't quite been able to find exactly what I'm looking for. I'm not sure what common protocol is when it comes to web form submission. I would rather not have the information on a database, as it is only temporary. Though it might be handy to have a name and phone number submitted to my database on button click.
The actual email doesn't need to be formatted well, I only need information from a few text boxes. I'm using TextBox1 - TextBox6, if that helps.
Thanks much,
回答1:
You'll need to use the System.Net.Mail
class to send emails in C#. The mail server settings are set up in your web.config
file under the system.net
mailsettings
section. For example, email sent through a GMail account would use the following settings:
<system.net>
<mailSettings>
<smtp from="[email_address_here]">
<network host="smtp.gmail.com" port="587" userName="[username]" password="[password]" enableSsl="true" />
</smtp>
</mailSettings>
</system.net>
Then, on the button click event, which you can access in the Events section of the Button's properties in Visual Studio, you would put the code to gather the form information and send the email, which would look something like:
//Initiate the mail client.
SmtpClient mail = new SmtpClient();
//You would probably get the to email from your form using TextBox1.Text or something similar, or use your own to email.
MailMessage mm = new MailMessage("from_email", "to_email");
//Set the message properties, using your TextBox values to format the body of the email.
//You can use string format to insert multiple values into a string based on the order of {0}, {1}, {2} etc.
mm.Body = string.Format("Hi {0}, thanks for emailing me.", TextBox2.Text);
mm.IsBodyHtml = true; //Or false if it isn't a HTML email.
mm.Subject = "Your Subject Here";
//Send the email.
mail.Send(mm);
You will also need to have the line using System.Net.Mail;
at the top of your code file to use the SMTPClient
.
回答2:
What language are you working with?
In php, it would be something like this:
<form action="post.php" method="post">
... your form inputs
</form>
And then in post.php:
mail($_POST['email'],$_POST['subject'],$_POST['body']);
Share the code you're working with and I can be more specific.
回答3:
Any application server should be able to do this. It sounds like you just need a simple script--PHP or Ruby would be practical--that processes the web request, extracts the data, and throws it into an email. Maybe I'm missing part of the question, but if you literally mean you want to know the protocol, the answer is HTTP.
来源:https://stackoverflow.com/questions/12240966/i-need-to-create-a-button-that-sends-form-information-to-email-on-button-click-e