0

うまくいけば、小さな問題があります。

私も電子メールを送信したい電子メールアドレスを入力するようにユーザーに求める Email.html ページがあります。

<section id="dialog" class="window">
<h1>Email Me <a href="#" class="close"/>Close</a></h1>  

  <p>Email Details To</p>
    <input type="email" placeholder="email address" autofocus class="input-    email" id="email">

  <p id="email-entry" class="error disp-none">Please enter an email address</p>
  <p id="email-valid" class="error disp-none">Please enter a valid email address</p>

  <input type="button" value="Send" id="btn-send">

メール送信を「処理」することを望んでいた aspx.vb ファイルがあります。

Imports System.Net.Mail

Partial Class ContactUs
Inherits System.Web.UI.Page

Protected Sub SendMails_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SendMails.Click

Dim FromPersonName As String = FromName.Text
    Dim FromPersonEmail As String = “sales@test.co.uk”
    Dim FromPersonContactNumber As String = FromContactNumber.Text
    Dim EmailSubject As String = Subject.Text
    Dim ToAddress As String = email.input

    '(1) Create the MailMessage instance
    Dim mm As New MailMessage(FromEmail.Text, ToAddress)

    '(2) Assign the MailMessage's properties
    mm.Subject = Subject.Text
    mm.Body = "Thank you for your enquiry. A member of our team will contact you shortly.”
    mm.IsBodyHtml = False

    '(3) Create the SmtpClient object
    Dim smtp As New SmtpClient

    '(4) Send the MailMessage (will use the Web.config settings)
    smtp.Send(mm)

    EmailSentForm.Visible = True
    SendMails.Visible = False

End Sub
End Class

最後に、私のサーバーにアクセスする web.config ファイル:

<system.net>
    <mailSettings>
        <smtp>
            <!--    <network host="yourRELAYSERVERHOSTNAME" port="yourPORTNUMBER" userName="yourUSERNAME" password="yourPASSWORD" /> -->

        </smtp>
    </mailSettings>
</system.net>

これらのファイルを統合するには (可能であれば)、ユーザーが .html ページに電子メール アドレスを入力すると、.aspx.vb スクリプトが呼び出され、web.config が呼び出されるようにするにはどうすればよいですか?

私が達成しようとしていることに対するより簡単な解決策はありますか?

助けていただければ幸いです。

4

1 に答える 1

0

あなたが探しているのは AJAX と呼ばれるものです。HTMLページ/AJAXリクエストに何らかの応答を返すには、aspxコードを変更するだけでよいと思います。

successメールが送信された場合にaspx ページがテキストとして返されるとします。単純に次のように記述します。

$.get('aspx.vb', {email: $('#email').val()}, function (data) {
   if (data === 'success') {
       alert('Email has been sent successfully');
   } else {
       alert('Oops, There was some problem.');
   }
});

デモ: http://jsfiddle.net/DDaJQ/

お役に立てれば!

于 2012-08-16T09:42:43.567 に答える