2016-05-19 16 views
0

あなたが助けてくれると嬉しいです。私は私の会社のウェブサイトでぶつかった。私の経験はHTML、CSS、PHPです。私がやったサーバースクリプティングはすべてPHPで書かれています。ただし、内部ポリシーは、サイトでPHPを使用できないことです。スタティックHTMLフォームデータをASPXファイルに渡す

私の問題は、私たちのサイトに連絡フォームがあり、よくレイアウトされており、妥当性が確認されていて、反応がよく、ツールチップなどがありますが、フォーム提出を電子メールで処理する必要があります。通常、私はこれをPHPを使って行いますが、上記のように、それはオプションではありません。

概念の証明として私がしたいのは、ASPを使用してフォームデータを読み込むことです。私がこれを行い、フォームからすべてのデータが読み込まれていることを証明したら、値をSMTPクライアントに渡す作業をします。

私はASPでの経験はほとんどありません。皆さんが私を穴から掘り起こすのを助けてくれることを願っています。

私のコンタクトフォームの詳細をASPに渡すにはどうすればよいですか?私はそれを検索し、他の人々の例から作業を試みましたが、私は苦労しています。おそらく私は別の質問からの回答に取り組んでいるからです。あなたはPOSTメソッドでフォームデータを受信すると

+0

どのようなフレームワークを使用するのですか、どのようにデータをサーバー側に投稿しますか?ここで正解を得るために、より多くの情報を提供することができます。 –

答えて

0

、あなただけの電子メールを送信するSmtpClientを使用することができます。サンプルのHTMLフォームの

var mail = new MailMessage(); 
SmtpClient client = new SmtpClient("smtp server"); 

mail.From = new MailAddress("[email protected]"); 
mail.To.Add("to address"); 
mail.Subject = "Test Mail"; 
mail.Body = "Body"; 

client.Port = 587; 
client.Credentials = new System.Net.NetworkCredential("username", "password"); 
SmtpServer.EnableSsl = true; 

client.Send(mail); 
0

<form method="POST" action="send_email.aspx"> 
    <div> 
     Input 1: <input type="text" name="inputFieldName1" /> 
    </div> 
    <div> 
     Input 2: <input type="text" name="inputFieldName2" /> 
    </div> 
    <input type="submit" value="Send" /> 
</form> 

は、新しいテキストファイルsend_email.aspxを作成し、このコンテンツを追加:

<%@ Page Language="C#" %> 
<%@ import Namespace="System.Net.Mail" %> 

<script language="C#" runat="server"> 
    public void Page_Load(Object sender, EventArgs E) 
    {  
     // Here you get the input values, equivalent to $_POST["inputFieldName1"]/$_GET["inputFieldName1"], etc... 
     string inputFieldValue1 = ""+Request["inputFieldName1"]; 
     string inputFieldValue2 = ""+Request["inputFieldName2"]; 

     // this part is taken from @hrvoje-hudo response, thanks to him ! 
     var mail = new MailMessage(); 
     SmtpClient client = new SmtpClient("smtp-server-host"); 

     mail.From = new MailAddress("[email protected]"); 

     mail.To.Add("[email protected]"); 

     mail.Subject = "The subject"; 

     // Here you define your message 
     mail.Body = "Hello,\n"; 
     mail.Body += "Input1 = " + inputFieldValue1 + "\n"; 
     mail.Body += "Input2 = " + inputFieldValue2 + "\n"; 

     client.Port = 587; 
     client.Credentials = new System.Net.NetworkCredential("username", "password"); 
     client.EnableSsl = true; 

     client.Send(mail); 

    } 
</script> 

入力リスト、サーバーホスト、電子メールf rom/to、messageそしてそれはそれです!

関連する問題