【问题标题】:How to use if else statement in email form?如何在电子邮件表单中使用 if else 语句?
【发布时间】:2018-05-24 14:31:27
【问题描述】:

我正在创建一个电子邮件表单,该表单正在运行。现在我想为 主题字段 添加选项。如果主题是cancel,那么它应该在Message(body) 字段中显示类似your service is cancelled 的取消消息。如果主题是 Welcome,那么它应该在 Message(body) 字段中显示欢迎加入我们的团队消息。

<div class="container" style="background-color:powderblue; position:center">
    <form method="post" action="Form" style="background-color:powderblue; color:indianred">
        <span class="form-control-static" style="color:black"><h1>Email Form</h1></span>      

        <br />

        <span class="form-control-static">Receiver Email:</span>
        <input class="form-control" type="text" name="receiverEmail" />
        <span class="form-control-static"> Subject:</span>
        <select name="SelectSubject"   value="Select Subject" id="ViewBy" class=" form-control">
            <option name="cancel"      value="Cancel">Cancel</option>
            <option name="welcome"     value="Welcome">Welcome</option>
        </select>
        <span class="form-control-static">Message</span>
        <textarea class="form-control" cols="8" rows="9" name="message"></textarea>

        <br />
        <br />

        <button class="btn btn-primary" type="submit">Send Email</button>    
    </form>
</div class="container">

这是我的电子邮件表单代码

    [HttpPost]

    public ActionResult Form(string receiverEmail, string subject,  string message)
    {
        try
        {
            if (ModelState.IsValid)
            {
                var senderemail = new MailAddress("test57697@gmail.com","Test Email");
                var receiveremail = new MailAddress(receiverEmail, "Receiver");
                var password = "Test111222";

                //From view
                var sub = subject;
                var body = message;
                //var sub = subject;
                //var body = message;



                var smtp = new SmtpClient
                {
                    Host = "smtp.gmail.com",
                    Port = 587,
                    EnableSsl = true,
                    DeliveryMethod = SmtpDeliveryMethod.Network,
                    UseDefaultCredentials = false,
                    Credentials = new NetworkCredential(senderemail.Address,password)
                };

                using (var mess = new MailMessage(senderemail, receiveremail)
                {
                    Subject = sub,
                    Body = body

            })

                {
                    smtp.Send(mess);

                }
                Response.Write("Message sent successfully!");
                return View();

            }

        }
        catch (Exception)
        {
            ViewBag.Error = "Couldn't send email.";
        }
        return View();
    }
}

}

嗨!我现在还有一个问题。我以前使用 gmail 服务器发送电子邮件,但现在我想使用 django 服务器,C# 而不是 gmail。有什么建议吗?

【问题讨论】:

  • 这与c# 有什么关系?你想通过 c# 发送这封电子邮件吗?如果有,邮件发送代码在哪里?
  • 前面有没有使用框架?这是一个 ASP MVC 网络应用吗?
  • 是的,我正在使用 MVc。
  • 为什么不直接在 Form 动作中做 if 语句并在那里更改正文?
  • Rajesh 发布的答案就是我所说的。

标签: c# html django asp.net-mvc


【解决方案1】:

根据我的理解,您在此处编写的代码不正确,其中一些代码无论如何都丢失了,正在为您的场景提供一种解决方案。

//从视图

var sub = subject;
if(sub.ToLower()=="cancel")
{
 var body= "your service is cancelled";
}
else
{
var body= "Welcome Message";
}

【讨论】:

  • 我在我的文件中添加了这段代码,但它不起作用。当我选择取消/欢迎作为主题时,它不会在正文中显示任何内容。
  • @kimm 我很抱歉那一团糟,很高兴它奏效了,你发现了。我已经编辑了我的答案,你做得很好。
【解决方案2】:

谢谢拉杰什。这是正确的答案,它奏效了。我刚刚删除了最后一行。

                var sub = subject;
                var body = message;

                if (sub.ToLower() == "cancel")
                {
                     body = "your service is cancelled";
                }
                else
                {
                    body = "Welcome Message";
                }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-11
    • 2011-06-15
    • 2015-08-06
    相关资源
    最近更新 更多