[英]Connecting email server to my Contact page of web application in asp.net/c#
也許這是一個簡單的問題,但我是在 c#、asp.net 中開發的新手。 我正在構建一個網站,但在將電子郵件服務器連接到我的聯系頁面時遇到了一些麻煩。 我已經搜索了很長時間,但找不到合適的答案。 我的控制器代碼如下:
namespace SITEEXEMPLO.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(string Name, string EmailId, string PhoneNo, string Subject, string Message)
{
try
{
MailMessage mail = new MailMessage();
mail.To.Add(EmailId);
mail.From = new MailAddress("xoinas23@gmail.com");
mail.Subject = Subject;
string userMessage = "";
userMessage = "<br/>Name :" + Name;
userMessage = userMessage + "<br/>Email Id: " + EmailId;
userMessage = userMessage + "<br/>Phone No: " + PhoneNo;
userMessage = userMessage + "<br/>Message: " + Message;
string Body = "Hi, <br/><br/> A new enquiry by user. Detail is as follows:<br/><br/> " + userMessage + "<br/><br/>Thanks";
mail.Body = Body;
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
//SMTP Server Address of gmail
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.Credentials = new System.Net.NetworkCredential("xoinas23@gmail.com", "xxxxx");
// Smtp Email ID and Password For authentication
smtp.EnableSsl = true;
smtp.Send(mail);
ViewBag.Message = "Thank you for contacting us.";
}
catch
{
ViewBag.Message = "Error............";
}
return View();
}
HTML代碼如下:
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<table width="100%;" border="1">
<tr>
<td align="right" colspan="2" style="text-align: center"><strong>SEND EMAIL USING GMAIL ACCOUNT IN MVC</strong></td>
</tr>
<tr>
<td align="right"> </td>
<td align="left">
@ViewBag.Message
</td>
</tr>
<tr>
<td align="right">Name :</td>
<td align="left">
<input id="txtName" name="Name" width="250px;" />
</td>
</tr>
<tr>
<td align="right">Your Email id :</td>
<td align="left">
<input id="txttoaddress" name="EmailId" width="250px" />
</td>
</tr>
<tr>
<td align="right">Phone No :</td>
<td align="left">
<input id="txtPhoneno" name="PhoneNo" width="250px" />
</td>
</tr>
<tr>
<td align="right">Subject :</td>
<td align="left">
<input id="txtsubject" name="Subject" width="250px"></input>
</td>
</tr>
<tr>
<td align="right">Message :</td>
<td align="left">
<textarea rows="4" cols="50" name="Message" id="txtmessage"></textarea>
</td>
</tr>
<tr>
<td align="right">Attachment :</td>
<td align="left">
<input type="file" name="file" />
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" text="Send Message" />
</td>
</tr>
</table>
這有效,但不是我想要的方式。 通過運行此代碼,我插入了信息,並在插入到表單的電子郵件中收到了它,而不是代碼中的電子郵件。 我希望用戶在表單上寫下他們自己的電子郵件,然后通過單擊按鈕我會收到我的電子郵件中的信息。 有人能幫我嗎?
除非我誤解,我相信您想發送電子郵件至 xoinas23@gmail.com。 為此,請將您的代碼更改為以下內容:
mail.To.Add("xoinas23@gmail.com");
mail.From = new MailAddress("xoinas23@gmail.com");
現在,您正在向提交表單的人提供的電子郵件地址發送電子郵件。 通過此更改,您只需使用您的電子郵件地址將他們的信息發送給您自己。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.