1
私のデータを自分のPHPコードを通過させ、自分のGmailアカウントから別のメールアドレスにメールしてみようとしています。しかし、そうすることに問題がある。ここで SMTPサーバーを使用してフォームデータHTMLを電子メールに送信
は私のHTMLコードです:<form name="contactform" method="post" action="sendMail.php">
<table width="400px">
<tr>
<td valign="top">
<label for="first_name">First Name *</label>
</td>
<td valign="top">
<input type="text" name="first_name" maxlength="50" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="last_name">Last Name </label>
</td>
<td valign="top">
<input type="text" name="last_name" maxlength="50" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="email">Email *</label>
</td>
<td valign="top">
<input type="text" name="email" maxlength="80" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="telephone">Phone</label>
</td>
<td valign="top">
<input type="text" name="telephone" maxlength="30" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="comments">Comments *</label>
</td>
<td valign="top">
<textarea name="comments" maxlength="1000" cols="25" rows="6"></textarea>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center">
<input type="submit" value="SUBMIT">
</td>
</tr>
</table>
</form>
PHPコードsendMail.php
<?php
require 'PHPMailer-master/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'H********';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->SMTPDebug = 1;
$mail->From = '[email protected]';
$mail->FromName = 'TEST';
$mail->addAddress('[email protected]');
$errors = '';
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['phone']) ||
empty($_POST['message']))
{
$errors .= "\n Error: all fields are required";
}
$name = $_POST['name'];
$email_address = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i",
$email_address))
{
$errors .= "\n Error: Invalid email address";
}
if(empty($errors))
{
$to = $myemail;
mail($to, $subject, $message, $headers);
$email_subject = "Request Additional Information: $name";
$email_body = "You have received a new request for additional information. ".
" Here are the details:\n Name: $name \n ".
"Email: $email_address\n Phone: $phone\n Message: \n $message";
$headers = "From: $myemail\n";
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
//redirect to the 'thank you' page
header('Location: contact-form-thank-you.html');
}
?>
私はそれを送信するとき、それは電子メールユーザーから来て、なぜ誰かが考え出すことで私を助けることができます私のフォームから入力したもので、Gmailのメールアドレスから入力したものではありません。
2つのコードがあります。最初は 'phpMailer'です。もう1つはPHPの' mail'関数を使用しています。最初の 'phpMailer'は何も送信しません。ここの例はhttps://github.com/PHPMailer/PHPMailer/tree/master/examplesに従ってください – cmorrissey