0

良い一日

asp.net を使用して電子メールを送信しています。「問い合わせ」または「送信」ボタンを押すと、電子メールが送信されますが、電子メールが送信されたことをユーザーに確認する方法がわかりません。

それ、どうやったら出来るの?

HTML:

<tr><td colspan="2"><asp:Button class="btn btn-success" ID="ButtonEnquire" OnClick="Button1_Click"  runat="server" Text="Enquire" /></td></tr>

サーバー側コード ビハインド:

システムを使用する; System.Collections.Generic の使用; System.Linq を使用します。System.Web の使用; System.Web.UI を使用します。System.Web.UI.WebControls を使用します。

namespace Contact.Secure
{
    public partial class Corporate : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                PopulateDropDownTypeofCards();
            }
            //DropDownTypeofCards.DataSource = Enums.EnumList.CreateList(typeof(Enums.ContactMethodTypes));
            //DropDownList1.DataTextField = "EnumDescription";
            //DropDownList1.DataValueField = "EnumValue";

            //DropDownList1.DataBind();
        }

        private void PopulateDropDownTypeofCards()
        {
            DropDownTypeofCards.DataSource = Enums.EnumList.CreateList(typeof(Enums.CardTypes));
            DropDownTypeofCards.DataTextField = "EnumDescription";
            DropDownTypeofCards.DataValueField = "EnumValue";

            DropDownTypeofCards.DataBind();
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            var html = string.Format("<html><head></head><body>{0}<br/>{1}<br />{2}<br />{3}<br />{4}<br />{5}</body></html>", TextBoxName.Text, TextBoxEmailAddress.Text, TextBoxCompanyName.Text, TextBoxCompanyAddress.Text, TextBoxPhoneNumber.Text, TextBoxAmiuntofCardstoSubscribe.Text, DropDownTypeofCards.Text);



            SendEmail(System.Configuration.ConfigurationManager.AppSettings["ContactUsFormSubmission"].ToString(), "Form Submission", html, true, "no-reply@mail.com", true, 587);

        }

        public static void SendEmail(string toEmail, string subject, string body, bool isHTML = false, string fromAddress = null, bool enableSSL = false, int SSLPort = 465, string[] Attachment = null)
        {


            try
            {
                if (bool.Parse(System.Configuration.ConfigurationManager.AppSettings["SendEmail"].ToString()))
                {
                    System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();

                    message.To.Add(toEmail);
                    message.Subject = subject;

                    if (string.IsNullOrEmpty(fromAddress) || string.IsNullOrWhiteSpace(fromAddress))
                    {
                        message.From = new System.Net.Mail.MailAddress(System.Configuration.ConfigurationManager.AppSettings["SMTPFromAddress"].ToString());
                    }
                    else
                    {

                        message.From = new System.Net.Mail.MailAddress(fromAddress);
                    }

                    message.IsBodyHtml = isHTML;

                    message.Body = body;

                    if (enableSSL)
                    {

                    }

                    if (Attachment != null)
                    {
                        if (Attachment.Count() > 0)
                        {
                            foreach (string a in Attachment)
                            {
                                System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(a);

                                message.Attachments.Add(attachment);
                            }
                        }
                    }
                    System.Net.Mail.SmtpClient smtp;
                    if (enableSSL)
                    {
                        smtp = new System.Net.Mail.SmtpClient(System.Configuration.ConfigurationManager.AppSettings["SMTPServer"].ToString(), SSLPort);
                        smtp.UseDefaultCredentials = false;
                    }
                    else
                    {
                        smtp = new System.Net.Mail.SmtpClient(System.Configuration.ConfigurationManager.AppSettings["SMTPServer"].ToString(), SSLPort);
                        smtp.UseDefaultCredentials = false;
                    }

                    smtp.Credentials = new System.Net.NetworkCredential(System.Configuration.ConfigurationManager.AppSettings["SMTPUser"].ToString(), System.Configuration.ConfigurationManager.AppSettings["SMTPPassword"].ToString());

                    smtp.EnableSsl = enableSSL;

                    smtp.Timeout = 60000;


                    try
                    {
                        smtp.Send(message);
                    }
                    catch
                    {
                        throw;
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }


    }
}
4

1 に答える 1

1

メールが正常に送信されたときに、このコードをメールを送信するメソッドに追加できます

var message = "Email has been sent";

string script = "<script language=\"javascript\"  type=\"text/javascript\">;alert('" + message + "');</script>";

ScriptManager.RegisterStartupScript(Page, this.GetType(), "AlertMessage", script, false);

メッセージとともに JavaScript アラートが表示されます。

于 2013-03-05T14:04:59.567 に答える