我正在为公司建立一个网站,并且在三个不同的页面上有不同的URL的联系表。
有人知道如何发送当前发送的URL吗?
就像我在http://localhost:59379/en/about/
上一样,我从该URL发送消息,我希望将此URL发送到我的电子邮件中。
赞:
我的邮箱中的邮件发送来源:{URL}。
我正在使用SMTP
public void SendContactMail(string from, string name, string phone, string message)
{
try
{
var date = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
var newMail = new MailMessage { From = new MailAddress("HEY@LIVE.SE") };
newMail.To.Add(new MailAddress("hello@live.se"));
newMail.Subject = $"Contact {@date} form mail from: {@from}";
newMail.IsBodyHtml = true;
var body = $@"
{name} har fyllt i kontaktformuläret på ... <br/>
E-post: {@from}<br/>
Telefon:{phone} <br/>
Meddelande:{message}";
var view = AlternateView.CreateAlternateViewFromString(body, null, "text/html");
newMail.AlternateViews.Add(view);
Client.Send(newMail);
}
catch (Exception)
{
//some random stuff here.
}
}
HTML表单:
<div class="col-xl-12">
<p class="text-white contact-us-title">Kontakta gärna oss!</p>
<input type="text" required class="form-control fc-contact" style="width:15rem;" placeholder="Namn" name="Name" aria-label="Recipient's username" aria-describedby="basic-addon2">
<br />
<input type="text" required class="form-control fc-contact" style="width:15rem;" placeholder="E-post" name="Email" aria-label="E-post" aria-describedby="basic-addon2">
<br />
<input type="text" required class="form-control fc-contact" style="width:15rem;" placeholder="Tele" name="Phone" aria-label="Tele" aria-describedby="basic-addon2">
<br />
<textarea class="form-control fc-contact" style="height:7rem; width:15rem; " placeholder="Meddelande" name="Message" aria-label="Message" aria-describedby="basic-addon2"></textarea>
<br />
<br />
<button type="submit" class="btn btn-success mb-5"><span>Skicka</span></button>
</div>
答案 0 :(得分:0)
您需要以某种方式将包含电子邮件表单的页面的URL传递给发送电子邮件的方法,以便可以将其包含在电子邮件消息中。
现在最有可能出现问题,因为您要发布到控制器上的某个动作,然后Request.Url
就是您要发布到该控制器上的动作的URL,这不是您想要的。
所以..您可以做的是在用户旁边添加“引荐来源网址”页面(表单所在的页面-您要跟踪的页面URL)的URL作为隐藏的表单字段输入字段,然后在您的控制器POST操作中处理该字段,并将其包含在要发送的电子邮件中。