簡體   English   中英

在嘗試塊中成功發送了Smtp電子郵件的彈出消息

[英]Popup message for Smtp email is sent successfully in try block

我正在使用SmtpClient通過“提交”按鈕發送電子郵件。 單擊“提交”后,電子郵件發送成功,同時我想通知用戶(彈出窗口)電子郵件是否發送成功,但是我找不到合適的方法來實現。 請在下面檢查我的代碼:

@using System.Net.Mail;
@{
ViewBag.Title = @Resources.Common.AppName;
}


if (IsPost)
{
    var memberCode = Request["memberCode"];
    var memberNo = Request["memberNo"];
    var msgSub = "title:" + ViewBag.PromotionFeedTitle;
    var msgBody = "Member Code: "+memberCode+"\nMember Contact: "+memberNo;

    using (var client = new SmtpClient())
    {

        var msg = new MailMessage();
        msg.IsBodyHtml = true;
        msg.BodyEncoding = System.Text.Encoding.UTF8;
        msg.To.Add("xxx@xxx.net");
        msg.Subject = msgSub;

        //Create message body in HTML
        msg.Body = msgBody;

        // Send the email
        try
        {
            client.Send(msg);
            //send succeed

        }
        catch (Exception ex)
        {

            //send failed

        }
    }   
}

HTML形式:

<form id="form1" method="post" action="" onsubmit="return terms(); ">
 <div>
  <fieldset>
   <table>
   <h4 id="popuptitle" style="direction=left; color: Aqua;">
   申請優惠:@ViewBag.Title
   <tr><td>
   MemberCode:
   </td><td>
   <input id="memberCode" autocomplete="off" type="text" oninvalid="InvalidMsg(this);" onkeypress="return alpha(event)" name="memberCode" style="color: Black;" required>
   </td></tr>
   <tr><td>
   MemberNo:
   </td>
   <td>
   <input id="memberNo" autocomplete="off" type="number" oninvalid="InvalidMsg(this);" OnKeyPress="return CheckNumericKeyInfo(event.keyCode, event.which)" name="memberNo" style="color: Black;" required/>
   </td></tr>
   <tr><td>
   <input type="checkbox" id="agree" class="largerCheckbox" name="myTextEditBox" value="1" />
   </td>
   <td>
   Checkbox
   </td></tr>
   </table>
   </fieldset>
   </div>
   </form>

提交按鈕div:

<div class="divbtns" style="width: 95%;">
<button id="sbutton" class="button" type="submit" data-theme="t" form="form1">
Send</button>
</div>

注意:以上所有內容均在“查看”頁面中,而不是后置代碼。 我正在嘗試在try / catch塊中實現成功消息。 感謝您的幫助。

如果要顯示彈出窗口,有兩種方法:-當您返回View時,可以在客戶端顯示彈出窗口以通知用戶,例如:

$(function(){alert("Your mail was sent!");});

-您可以使用ajax提交表單,然后在收到服務器的響應時顯示彈出窗口

$.Ajax({
    ....
    success: function(data){alert("Your mail was sent!");}
});

在您的C#代碼中,您可以使用以下代碼編寫返回給客戶端的響應:

Response.Write("Success"); 

要么

Response.Write("Failed");

然后,客戶端可以讀取Ajax調用的響應,並確定消息是否已成功發送。 然后,您可以使用alert()函數顯示一條消息。

但是,您將必須執行Ajax調用而不是頁面提交。 使用jQuery看起來像這樣:

                $.ajax({
                    // ajax options
                    success: function(data, status, xhttp)
                    {     
                        if (data == 'Success') {
                          alert('Yay! It worked!');
                        }
                        else {
                          alert("Oh noes!!!");
                        }                      
                    }
                });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM