У меня есть сайт со страницей «Свяжитесь с нами», и я хочу, чтобы мои пользователи могли использовать эту форму для отправки мне электронного письма.Моя электронная почта, конечно, не отображается, но у меня есть пользователь, чтобы поместить свое имя, фамилию, адрес электронной почты и сообщение в форму начальной загрузки 4.xxx (последняя) и нажать кнопку отправить.Однако, когда я нажимаю кнопку отправить, данные не заполняются в методе ActionResult в моем HomeController.
Я также заметил ошибку с отправкой при включении функции javascript, ошибка равна нулю.Я нахожусь в процессе использования Route-Config, чтобы помочь перехватить данные, но я не уверен, какой путь является правильным в этой точке.Я не хочу использовать Html помощники (только HtmlBeginForm).
У меня было много итераций, и это не совсем лучший вариант, но этого достаточно, чтобы увидеть мои проблемы.
HomeController:
[HttpPost]
public async Task<ActionResult> Email(FormCollection form)`enter code here`
{
var firstName = form["firstName"];
var lastName = form["lastNname"];
var email = form["senderEmail"];
var message = form["emailMessage"];
var x = await ContactForm(firstName, lastName, email, message);
return RedirectToAction("Send");
}
private async Task<ActionResult> ContactForm(string firstName, string lastName, string email, string message)
{
try
{
MailMessage messages = new MailMessage();
messages.To.Add("marketing@gmail.com");
messages.From = new MailAddress(email);
messages.Subject = "Contact Page Email";
messages.Body = message;
messages.IsBodyHtml = true;
using (var smtp = new SmtpClient())
{
var credential = new NetworkCredential
{
UserName = "marketing@gmail.com",
Password = "*****"
};
smtp.Credentials = credential;
smtp.Host = "smtp-mail-outlook.com";
smtp.Port = 587;
smtp.EnableSsl = true;
await smtp.SendMailAsync(messages);
}
}
catch (Exception ex)
...
HTML:
@using (Html.BeginForm("Email", "Home", FormMethod.Post))
{
<form name="sendMessage" id="contactForm">
<div class="form-row">
<div class="col">
<label for="firstName">First Name:</label>
<input type="text" class="form-control" placeholder="First Name" id="firstName" name="firstName">
<div class="invalid-feedback">Enter a first name.</div>
</div>
<div class="col">
<label for="lastName">Last Name:</label>
<input type="text" class="form-control" placeholder="Last Name" id="lastName" name="lastName">
<div class="invalid-feedback">Enter a last name.</div>
</div>
</div>
<div class="form-group">
<label for="inputEmail">Email Address:</label>
<input type="email" class="form-control" id="email" placeholder="username@emailaddress.com" name="senderEmail">
</div>
<div class="form-group">
<label for="emailMessage">Message:</label>
<textarea class="form-control" id="message" rows="5" name="emailMessage"></textarea>
<div class="invalid-feedback">Enter a message.</div>
</div>
<button type="submit" class="btn btn-primary btn-lg " onclick="myFunction()">Send</button>
</form>
Электронная почта с именем, фамилией, адресом отправителя, сообщением в моем почтовом ящике.