[英]Can't set the sender name, his email and subject in phpmailer
我的phpmailer發送的消息沒有發件人姓名,發件人電子郵件和消息主題。
我需要這樣的消息:
Name: sender name
Email: sender@gmail.com
Subject: Business
Message: text of message .................... ............. ............
請幫助我修復它,以接收發件人姓名,電子郵件和主題。 謝謝。
這是我的php文件:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="EN" />
<title> Contact Form</title>
</head>
<body>
<?php
//receive and save all informations
$name=$_POST['Name'];
$from=$_POST['E-mail'];
$subject=$_POST['Subject'];
$message=$_POST['Message'];
// reading PHPmailer
require("phpmailer/class.phpmailer.php");
include("phpmailer/class.smtp.php");
$mail = new phpmailer(true);
$mail->IsSMTP();
try {
$mail->IsSMTP();
$mail->CharSet="UTF-8";
$mail->SMTPSecure = 'tls';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->Username = 'eric21@gmail.com';
$mail->Password = 'ter3221';
$mail->SMTPAuth = true;
$mail->SetFrom("$from",'website');
$mail->AddAddress('eric@gmail.com','message has been sent. contact us');
$mail->Subject='Website message';
$mail->CharSet='UTF-8';
$mail->ContentType='text/html';
$mail->MsgHTML("$message");
if (!$mail->send()) {
echo 'your message was not sent. Tap "Try Again" to send the message.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo '<div class="alert alert-success container text-center" style="text-align:center" role="alert">
<big><b><br><br><br>Message has been sent!<br></big></b>
</div>
<div class="alert alert-success container text-center" style="text-align:center" role="alert">
<a href="page.html"> <big><b><button>Back </big></b></button> </a>
</div>';
}
} catch(phpmailerException $e) {
echo "<p class='message alert alert-danger'>" . $e->errorMessage() . "</p>";
} catch(Exception $e) {
echo "<p class='message alert alert-danger'>" . $e->getMessage() . "</p>";
}
?>
</body>
</html>
這是我的表格
<form class="form" id="form-main" method="Post" action="1.php">
<p class="name">
<input name="Name" type="text" class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" placeholder="Name" id="name" />
</p>
<p class="e-mail">
<input name="E-mail" type="text" class="validate[required,custom[email]] feedback-input" id="e-mail" placeholder="E-mail" />
</p>
<p class="subject">
<input name="subject" type="text" class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" placeholder="subject" id="subject" />
</p>
<p class="text">
<textarea name="message" class="validate[required,length[6,300]] feedback-input" id="message" placeholder="Message"></textarea>
</p>
<div class="submit">
<input type="submit" value="SEND" id="button-blue"/>
<div class="ease"></div>
</div>
</form>
您的代碼基於過時的示例,並且可能正在使用舊版本- 獲取最新版本。 如果希望這些提交的字段出現在消息中,則需要在調用msgHTML()
之后將它們附加到$message
或$mail->Body
。 這將使您成為具有以下內容的純文本正文:
$mail->isHTML(false);
$mail->Body = "Name: $name
Email: $email
Subject: $subject
Message: $message";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.