PHP 邮件错误域丢失或格式错误<EOL>

PHP mail error domain missing or malformed<EOL>

我正在尝试向我的数据库中设置的客户电子邮件发送邮件。

$subject = 'Testing PHP Mail';
$txt = 'This mail is sent using the PHP mail function';
$headers = "FROM: test@gmail.com";
$query = ("SELECT email FROM ps_customer where id_customer = 2");
$result = $dbc->query($query);
$row = $result->fetch_assoc();
echo $row['email'];
$to_email = (string)$row;

//while ($row = $result->fetch_assoc()) {
//    echo $row['email'];
//    $to_email = (string)'$row <@>';
    if (mail($to_email, $subject, $txt, $headers)) {
        echo "send";
    } else {
        echo "failed";
    }

这是我的代码,需要将电子邮件发送到数据库外的电子邮件。

但是当我尝试发送它时出现错误::域丢失或 格式错误

您只需要地址,这是您要获取的唯一字段,所以我会选择:

$query = ("SELECT email FROM ps_customer where id_customer = 2");
$result = $dbc->query($query);
$row = $result->fetch_row();
$to_email = $row[0];

不需要为此使用关联数组。

你没有提到,但你发送的消息很可能会被拒绝。您通过 mail() 发送,这意味着您不是通过 gmail 的服务器发送,而是使用来自地址的 gmail。这是伪造的,意味着您的邮件将被退回或被垃圾邮件过滤。您无法使用 mail() 解决此问题(除非您的发件人地址不使用 gmail);你需要 send using SMTP via gmail using PHPMailer(你用它标记了这个问题)。