私はウェブサイトからメールを送信しているタスクを持って、助けてください。 iamはhtmlとphpコードをつけて試してみました。それは正確に動作していません。 問題は私が直面していることは、メールが来る場所から決して表示されないことです。代わりにホスト名を表示します。 要件: サブ: 電子メールID:phpを使用したウェブサイトからのメールの送信
メッセージ
HTMLコード
<form class="form-horizontal" method="post" name="myemailform" action="form-to-email.php" >
<div class="row">
<div class="col-lg-6">
<div class="form-group" style="padding-right:10px;">
<label>Name</label>
<input type="text" class="form-control" id="name" name="name" placeholder="NAME..." value="">
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label for="exampleInputEmail1">Email</label>
<input type="email" class="form-control" id="email" name="email" placeholder="EMAIL..." value="">
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<div class="form-group" style="padding-right:10px;">
<label>Telephone</label>
<input type="email" class="form-control" id="telephone">
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label>Mobile</label>
<input type="email" class="form-control" id="mobile">
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="form-group">
<label>Message</label>
<textarea class="form-control" rows="4" id="message" name="message" placeholder="MESSAGE..."></textarea>
</div>
</div>
</div>
<button type="submit" class="btn btn-default sub">Send</button>
</form>
PHPコード
<?php
if(!isset($_POST['submit']))
{
//This page should not be accessed directly. Need to submit the form.
echo "error; you need to submit the form!";
}
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$message = $_POST['message'];
$telephone = $_POST['telephone'];
$mobile = $_POST['mobile'];
$subject = $_POST['subject'];
//Validate first
if(empty($name)||empty($visitor_email)||empty($message))
{
echo "Name,email and message are mandatory!";
exit;
}
if(IsInjected($visitor_email))
{
echo "Bad email value!";
exit;
}
$email_from = $visitor_email;//<== update the email address
$email_body = "Name:\t $name.\n".
"Email:\t $vi\nsitor_email.\n".
"Telephone:\t $telephone.\n".
"Mobile:\t $mobile.\n".
"Message:\t $message.\n".
$to = "[email protected]";//<== update the email address
//Send the email!
mail($to,$subject,$email_body);
//done. redirect to thank-you page.
header('Location: thank-you.html');
// Function to validate against any email injection attempts
function IsInjected($str)
{
$injections = array('(\n+)',
'(\r+)',
'(\t+)',
'(%0A+)',
'(%0D+)',
'(%08+)',
'(%09+)'
);
$inject = join('|', $injections);
$inject = "/$inject/i";
if(preg_match($inject,$str))
{
return true;
}
else
{
return false;
}
}
>
コピー貼り付けコードを使用していますか?それともあなたはこれを書いていますか? – ad08
追加したことのないmail()コール – derHugo