0

HTML フォームを作成しましたが、フォームを送信するたびに、G メールまたは Outlook を開くよう求められます。すると、新しいメールが正しいメール アドレスで開かれます。問題は、何も開かずに送信することです。フォームには HTML のみを使用し、PHP/MySQL は使用したくありません。

        <form method="post" action="mailto:contact@walkerloden.com" enctype="text/plain">
            <p>Name: <input type="text" name="Name" size="20"></p>
            <p>Email: <input type="text" name="Email" size="20"></p>
            <p><input type="submit" value="Submit" name="Submit"></p>
        </form>
4

4 に答える 4

2

フォーム アクションを mailto に設定しないでください。

代わりに、POST 変数を受け入れてから電子メールを送信できる、作成したスクリプトに直接送信する必要があります。mail()まさにそれを行うネイティブ PHP 関数が呼び出されます。コードは次のようになります。

HTML

<form method="post" action="scripts/mailtome.php" enctype="text/plain">
    <p>Name: <input type="text" name="Name" size="20"></p>
    <p>Email: <input type="text" name="Email" size="20"></p>
    <p><input type="submit" value="Submit" name="Submit"></p>
</form>

PHP - mailtome.php

<?php
    $name = stripslashes(trim($_POST['Name']));
    $email = stripslashes(trim($_POST['Email']));
    $to = 'email@address.com'; 
    $subject = 'CONTACT FORM';

    $body = "From: $name\n E-Mail: $email";

    if(mail($to, $subject, $body, $name.' - '.$email))
        echo("It worked");
    else
        echo("Something went wrong");
?>
于 2012-08-07T19:44:49.393 に答える
2

のフォーム アクションmailtoは実際にはサポートされていません。フォーム要素が必要なアドレスの電子メールに表示されることを期待している場合、これはフォームの動作方法ではありません。

フォームを投稿でき、実際の電子メール送信を行うサーバー側のコードが必要です。

于 2012-08-07T19:42:32.673 に答える
0

サンプル HTML ではこれを行うことはできません。PHP かメール送信のようなものが必要です。HTMLはそのようには機能しません。

デフォルトのメール アプリケーションのみを開くアクション mail。

Google はあなたの味方です。質問する前に検索してください。Web は、これに関する十分な例です。

于 2012-08-07T19:42:29.033 に答える
0

ユーザーが自分の名前と電子メール アドレスを入力し、[送信] を押してその情報を contact@walkerloden.com に電子メールで送信するサインアップ フォームを作成しようとしているようです。それが正しければ、いくつかのオプションがあります。

  1. ここで行っているのと同じように、mailto リンクを使用します。通常、これらは単なるハイパーリンクであり、フォームではありません。この手法は、実際に電子メールを送信するための電子メール クライアントを選択するようにユーザーに促します。これは、Gmail または Outlook を開くように求められたときに起こっていることです。利点は、サーバーを必要としないことです。欠点は、ユーザーが電子メール クライアントで電子メールの送信プロセスを実際に完了する必要があることです。
  2. 電子メールを送信できるサーバー側スクリプトを作成します。これは、PHP または任意の言語で行うことができます。次に、このサーバー側スクリプトに送信するフォームを作成します。このオプションでは、ユーザーは送信を押すだけで済みますが、サーバー側のスクリプトを設定する必要がありますが、これはやりたくないと言われています。

WordPress やその他のブログ ソフトウェアなどのサイト内からこのサインアップ フォームを実行している場合、問題を解決するためにサインアップ フォームを作成する方法が組み込まれていることがよくあります。

于 2012-08-07T19:52:31.607 に答える