ユーザーからメールアドレスを取得し、phpを使用してリンク付きのメールを送信できるようにする必要があります。jqueryまたはAJAXを使用した実装がいくつかあることは知っていますが、どちらのトピックについても経験がありません。シンプルなものが欲しいと思っていました。ありがとう
3 に答える
「ユーザーからメールアドレスを取得できるようにする必要があります」
フォームを作成します。
<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を使用して複雑にしたくない場合は、オンラインでそれらについて読んでください(または、私のプロファイルを見て、それで動作する完全に機能するコードをたくさん提供しました)。
フォームでメールを送信しようとしている場合は、フォームアクションに対してこれを行うだけで、残りは同様です。それが役に立てば幸い(:
<form action="MAILTO:name@email.com" method="post" enctype="text/plain">
PHPにはメール機能があります。ただし、このためにphp.iniを構成する必要があります。