我目前正在尝试从表单设置一个简单的邮件程序时遇到一个非常奇怪的问题。我已经在很多网站上使用了代码似乎工作得很好。但在这个特定的一个我似乎得到错误“你必须提供至少一个收件人的电子邮件地址。”
这是我一直在使用的代码
<?php
require_once('class.phpmailer.php');
$name = $_POST['name'];
$user_email= $_POST['email'];
$query = $_POST['message'];
$message = file_get_contents('email.html');
$message = str_replace('{{name}}', $name, $message);
$message = str_replace('{{email}}', $user_email, $message);
$message = str_replace('{{message}}', $query, $message);
$email = new PHPMailer();
$email->CharSet = 'UTF-8';
$email->IsHTML(true);
$email->From = $user_email;
$email->FromName = $name;
$email->Subject = 'Talking Together Speech Therapy Enquiry From- '. $name;
$email->Body = $message;
$email->AddAddress( 'barry.tickle12@gmail.com' );
if($email->send()){
// Trigger when email sends
}else{
//Trigger when email doesn't send
echo $email->ErrorInfo;
}
?>
特定服务器设置是否可能导致此问题?除了这个特定的服务器之外,同一服务器上的其他站点似乎也能正常工作。
*编辑*
Var将所有POST请求转储到该文件中,并且没有任何内容返回为空。
答案 0 :(得分:0)
也许添加一项检查,看看您是否拥有所有必需的数据?
$email= $_POST['email'] ?? '';
if($email){
/** Your code goes inside this if */
} else {
/** Show error */
}
答案 1 :(得分:0)
尝试使用新版本的AddAddress():
$email->addAddress('recipient@domain.com', 'Name');