【发布时间】:2017-07-21 10:38:14
【问题描述】:
我需要通过按钮点击发送电子邮件。
我为电子邮件制作模型
public class MailModel
{
public string From { get; set; }
public string To { get; set; }
public string Subject { get; set; }
public string Body { get; set; }
public bool IsShowAlert { get; set; }
}
并像这样在Controller中制作方法
[HttpPost]
public ViewResult Index(Models.MailModel _objModelMail)
{
if (ModelState.IsValid)
{
MailMessage mail = new MailMessage();
mail.To.Add(_objModelMail.To);
mail.From = new MailAddress(_objModelMail.From);
mail.Subject = _objModelMail.Subject;
string Body = _objModelMail.Body;
mail.Body = Body;
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential
("suhomlin.eugene95@gmail.com", "dontoretto23");// Enter seders User name and password
smtp.EnableSsl = true;
smtp.Send(mail);
return View("Index", (IEnumerable<Clients>) _objModelMail);
}
else
{
return View();
}
}
当我为电子邮件创建新视图时,所有工作都完成了。
但我需要在新视图中执行此操作。
这是我的视图设计 Screen
这是查看代码
@model IEnumerable<SmartSolutions.Models.Clients>
@{
Layout = "~/Views/Shared/_Layout2.cshtml";
}
@{
ViewBag.Title = "Список клиентов";
}
<table class="table">
@{int rowNo = 0;}
<tr style="background: #d1d3d4">
<th></th>
<th style="font-size: 20px; text-align: center;">
@Html.DisplayNameFor(model => model.Email)
</th >
<th style="font-size: 20px; text-align: center;">
@Html.DisplayNameFor(model => model.UserName)
</th>
<th style="font-size: 20px; text-align: center;">
@Html.DisplayNameFor(model => model.Position)
</th>
<th></th>
</tr>
<tr>
<td style="height: 40px; width: 40px; background: red;">
<a href='@Url.Action("Create", "Clients")'>
<img style="object-fit: cover;" src='@Url.Content("~/Images/plus.png")' />
</a>
</td>
</tr>
@foreach (var item in Model)
{
<tr >
<td class="point">
@(rowNo += 1)
</td>
<td style="text-align: center; font-size: 18px;">
@Html.DisplayFor(modelItem => item.Email)
</td>
<td style="text-align: center; font-size: 18px;">
@Html.DisplayFor(modelItem => item.UserName)
</td>
<td style="text-align: center; font-size: 18px;">
@Html.DisplayFor(modelItem => item.Position)
</td>
<td style="text-align: end;">
@Html.ActionLink("Отправить приглашение", "Details", new {id = item.ID}, new {@class = "sendinviteclass"})
<a href='@Url.Action("Edit", "Clients", new {id = item.ID})'>
<img src='@Url.Content("~/Images/Edit.png")'/>
</a>
<!-- @Html.ActionLink("Редактировать", "Edit", new {id = item.ID}, new {@class = "editclass"})-->
<a href='@Url.Action("Delete", "Clients", new {id = item.ID})'>
<img src='@Url.Content("~/Images/Delete.png")'/>
</a>
</td>
</tr>
}
</table>
当我点击标记按钮时,我需要使用默认文本向 EMAIL 列上的地址发送电子邮件。
标记的按钮是表格中的按钮。
默认文本类似于“您添加到系统转到 testwebsite.com。您的密码是数据库中的PasswordField。”
这是客户模型
public class Clients
{
public int ID { get; set; }
[Required]
[Display(Name = "Email")]
[EmailAddress]
public string Email { get; set; }
[Display(Name = "Ф.И.О")]
public string UserName { get; set; }
[Display(Name = "Должность")]
public string Position { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Пароль")]
public string Password { get; set; }
}
我该怎么做?
【问题讨论】:
-
在这里发表你的看法
-
我希望您不只是发布您的电子邮件凭据。
-
啊哈哈,当然不是@Juan
-
更新了我的帖子@teovankot
-
我没有看到
<FORM>元素,也没有看到任何按钮。我确实看到了一些链接。如果您尝试将任何用户输入发送到服务器,则需要一个带有提交按钮的表单。
标签: c# asp.net asp.net-mvc email