检查从哪个URL发送SMTP消息

时间:2018-10-17 13:16:37

标签: c# html email smtp umbraco

我正在为公司建立一个网站,并且在三个不同的页面上有不同的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>

1 个答案:

答案 0 :(得分:0)

您需要以某种方式将包含电子邮件表单的页面的URL传递给发送电子邮件的方法,以便可以将其包含在电子邮件消息中。

现在最有可能出现问题,因为您要发布到控制器上的某个动作,然后Request.Url就是您要发布到该控制器上的动作的URL,这不是您想要的。

所以..您可以做的是在用户旁边添加“引荐来源网址”页面(表单所在的页面-您要跟踪的页面URL)的URL作为隐藏的表单字段输入字段,然后在您的控制器POST操作中处理该字段,并将其包含在要发送的电子邮件中。