-3

ユーザーからメールアドレスを取得し、phpを使用してリンク付きのメールを送信できるようにする必要があります。jqueryまたはAJAXを使用した実装がいくつかあることは知っていますが、どちらのトピックについても経験がありません。シンプルなものが欲しいと思っていました。ありがとう

4

3 に答える 3

5

「ユーザーからメールアドレスを取得できるようにする必要があります」

フォームを作成します。

<form action="emailHandler.php" method="POST" id="emailForm">
    <label for="emailInput">Email: </label>
    <input type="text" name="emailInput" id="emailInput" value="" />
    <input type="submit" id="submitEmail" value="Submit Email" />
</form>

「そして、phpを使用してリンク付きのメールを送信します」

フォーム内の送信ボタンは、入力フィールドの値をPHPスクリプトemailHandler.phpにPOSTします。

「jqueryまたはAJAXを使用した実装があることは知っていますが、どちらのトピックについても経験がありません」

これにはjQueryやAJAXは必要ありません。jQueryとAJAXはjavascriptトピックです(この場合、AJAXは、HTMLから値を取得し、それらをPHPバックエンドにPOSTして、JSONオブジェクトを受信することを目的としています。成功したかどうかにかかわらず、javascriptは、ここでは明らかに必要ありませんが、使用できます)、組み込みのPHPメール関数を使用できます:http://php.net/manual/en/function.mail.php

emailHandler.phpで。

私はこのようにするのが好きです:

function spamcheck($field)
{
    //filter_var() sanitizes the e-mail
    //address using FILTER_SANITIZE_EMAIL
    $field=filter_var($field, FILTER_SANITIZE_EMAIL);

    //filter_var() validates the e-mail
    //address using FILTER_VALIDATE_EMAIL
    if(filter_var($field, FILTER_VALIDATE_EMAIL))
    {
        return true;
    }
    else
    {
        return false;
    }
}

function sendMail($toEmail, $fromEmail, $subject, $message)
{
    $validFromEmail = spamcheck($fromEmail);
    if($validFromEmail)
    {
        mail($toEmail, $subject, $message, "From: $fromEmail");
    }
}

そして、emailHandler.phpで次のようなことを行います。

$email = isset($_POST['emailInput']) ? $_POST['emailInput'] : false;

if($email != false)
{
    $yourEmail = "example@example.com";.
    $subject = "Link";
    $message = "The link and some message";
    $success = sendMail($email, $yourEmail, $subject, $message);
}

PHPのiniファイルを変更する必要がある場合は、次のように行うことができます。

ini_set('SMTP' , 'smtp.example.com');
ini_set('smtp_port' , '25');
ini_set('username' , 'example@example.com');
ini_set('password' , 'password');
ini_set('sendmail_from' , 'example@example.com');

「...私は何か簡単なことを望んでいました。ありがとう」

これが単純ではなかったら、私は何であるかわかりません。jQueryとAjaxを使用して複雑にしたくない場合は、オンラインでそれらについて読んでください(または、私のプロファイルを見て、それで動作する完全に機能するコードをたくさん提供しました)。

于 2013-03-25T00:59:31.763 に答える
0

フォームでメールを送信しようとしている場合は、フォームアクションに対してこれを行うだけで、残りは同様です。それが役に立てば幸い(:

<form action="MAILTO:name@email.com" method="post" enctype="text/plain">
于 2013-03-25T00:09:07.920 に答える
0

PHPにはメール機能があります。ただし、このためにphp.iniを構成する必要があります。

于 2013-03-25T00:19:52.560 に答える