【问题标题】:Check which URL a SMTP message was sent from检查发送 SMTP 消息的 URL
【发布时间】:2019-03-22 04:33:22
【问题描述】:

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

【问题讨论】:

标签: c# html email smtp umbraco


【解决方案1】:

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

问题很可能是现在您要发布到控制器上的操作,然后 Request.Url 只是您要发布到的控制器操作的 URL - 这不是您想要的。

所以..您可以做的是将“推荐人”页面的 URL(您拥有表单的页面 - 这是您要跟踪的页面 URL)作为用户旁边的隐藏表单字段输入字段,然后在控制器的 POST 操作中处理它,并将其作为正在发送的电子邮件的一部分。

【讨论】:

  • 正是我刚刚所做的,它的工作很好,感谢您的回复!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-06
  • 1970-01-01
  • 2017-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-09
相关资源
最近更新 更多