【问题标题】:You must provide at least one recipient email address. PHP mailer您必须提供至少一个收件人电子邮件地址。 PHP 邮件程序
【发布时间】:2017-03-24 11:12:56
【问题描述】:

我目前在尝试从表单设置简单邮件时遇到了一个非常奇怪的问题。我确实在许多网站上使用过代码似乎工作正常。但是在这个特定的邮件上,我似乎收到了错误“您必须提供至少一个收件人电子邮件地址。”

这是我一直在使用的代码

<?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 请求转储到文件中,并且没有任何内容返回为空。

【问题讨论】:

  • 您确定$_POST['email'] 不为空吗?你能var_dump吗?
  • 表示 $user_email 为空或不是有效的电子邮件地址
  • 我希望是这样,不幸的是一切都按原样进行。

标签: php email


【解决方案1】:

也许添加一个检查以查看您是否拥有所有必需的数据?

$email= $_POST['email'] ?? '';

if($email){
    /** Your code goes inside this if */
} else {
    /** Show error */
}

【讨论】:

  • 现在正在处理中!只是一个简单的问题,是什么? php中的语法? **编辑正在发布的所有字段
  • 这是 PHP 7 的一个特性 -> php.net/manual/en/… 使检查 isset 是否已设置更容易
【解决方案2】:

尝试使用新版本的 AddAddress():

$email->addAddress('recipient@domain.com', 'Name');

【讨论】:

  • 不幸的是同样的问题
猜你喜欢
  • 2017-02-18
  • 2019-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多