簡體   English   中英

如何使用asp.net和html頁面發送電子郵件

[英]how to send email using asp.net and html page

我有一個contact.html頁面,其中有用於用戶名,電子郵件,電話,主題,消息和提交按鈕的textboxex頁面。

<form class="contact-page-form-1">
      <div class="row clearfix">
          <div class="col-md-6 col-sm-6 col-xs-12 form-group">
              <input type="text" name="username" placeholder="Your Name*" id="username" required>
          </div>

          <div class="col-md-6 col-sm-6 col-xs-12 form-group">
                <input type="email" name="email" placeholder="Email Address*" id="email" required>
          </div>

          <div class="col-md-6 col-sm-6 col-xs-12 form-group">
                <input type="text" name="phone" placeholder="Phone Num" id="phone" required>
          </div>

          <div class="col-md-6 col-sm-6 col-xs-12 form-group">
                <input type="text" name="subject" placeholder="Subject" id="subject" required>
          </div>

          <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 form-group">
                <textarea name="message" placeholder="Your Message..." id="message"></textarea>
          </div>

          <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 form-group">
                  <button class="theme-btn btn-style-one" onclick="javascript:SendMail()" type="submit" name="submit-form">Send Message</button>
          </div>

      </div>
</form>

當我們單擊按鈕時,將在javascript中調用javascript函數,該方法位於VisionMail.aspx中。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<script type="text/javascript">
    function SendMail() {
        var uname = document.getElementById("username").value;
        var email = document.getElementById("email").value;
        var phone = document.getElementById("phone").value;
        var subject = document.getElementById("subject").value;
        var message = document.getElementById("message").value;
        var URL = "VisionMail.aspx?uname=" + uname + "&email=" + email + "&ph=" + phone + "&sub=" + subject + "&msg=" + message + "&count=India";
                    window.open(URL);
    }
</script>  

我用於發送郵件的WebMethod位於VisionMail.aspx中,如下所示:

protected void Page_Load(object sender, EventArgs e)
    {
        string uname = Request.QueryString["uname"].ToString();
        string email = Request.QueryString["email"].ToString();
        string phone = Request.QueryString["ph"].ToString();
        string subject = Request.QueryString["sub"].ToString();
        string message = Request.QueryString["msg"].ToString();
        string country = Request.QueryString["count"].ToString();

        string close = @"<script type='text/javascript'>
                            window.returnValue = true;
                            window.close();
                            </script>";


        using (MailMessage mail = new MailMessage())
        {
            mail.From = new MailAddress("abc@gmail.com");
            mail.To.Add("info@xyz.com");
            mail.Subject = subject;
            mail.Body = "Mr. " + uname + "<br/>" + "Email ID : " + email + " Phone No. " + phone + "<br/> <h4>He/She is Sending Message From Contact Page (" + country + "). <br/>" + message;
            mail.IsBodyHtml = true;

            using (SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587))
            {
                try
                {
                    smtp.Credentials = new NetworkCredential("abc@gmail.com", "abc123");
                    smtp.EnableSsl = true;
                    smtp.Send(mail);

                    base.Response.Write(close);
                }
                catch (Exception ex)
                {
                    base.Response.Write(close);
                }
            }
        }
    }

該代碼在本地系統上運行良好,並且正在發送郵件,但是當我在服務器上發布它時,它不起作用,並且當我單擊發送郵件的按鈕時,郵件沒有發送,並且下載了webmethod上顯示的頁面。 有什么解決辦法嗎?

嘗試下面的代碼。

使用(SmtpClient smtp =新的SmtpClient(“ smtp.gmail.com”)){

嘗試{

  smtp.Credentials = new NetworkCredential("visioncomn@gmail.com", "visioncomptel123"); smtp.EnableSsl = smtp.Port == 587 || smtp.Port == 465; smtp.Send(mail); base.Response.Write(close); 

} catch(Exception ex){base.Response.Write(close); }}

暫無
暫無

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

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