PHP邮件显示错误“;意外的\u数据\u之后_address@.syntax-“错误”;

PHP邮件显示错误“;意外的\u数据\u之后_address@.syntax-“错误”;,php,mysql,Php,Mysql,我编写了用于发送邮件的php代码 $to = $sql_sender_final['email']; $from = "first+$form[2]+$form[1]+$conversion@example.in<first@example.in>"; $headers = "From: $from\n"; $subject = "Re:New Message"; $message = $body_new; mail($to, $subject, $message, $hea

我编写了用于发送邮件的php代码

$to = $sql_sender_final['email'];
$from = "first+$form[2]+$form[1]+$conversion@example.in<first@example.in>";

$headers = "From: $from\n";

$subject = "Re:New Message";
$message =  $body_new;

mail($to, $subject, $message, $headers);
$to=$sql\u sender\u final['email'];
$from=“first+$form[2]+$form[1]+$conversion@example.in";
$headers=“From:$From\n”;
$subject=“Re:新邮件”;
$message=$body\u new;
邮件($to、$subject、$message、$headers);
然后我写了一个从邮件中提取数据的代码“first@example.in“通过IMAP

所有其他提取的数据都显示良好,除了它显示这样的错误

(!)注意:未知:第0行未知中地址末尾的意外字符:(errflg=3)

(!)注意:未知:第0行未知中地址末尾的意外字符:(errflg=3)


关于这个错误,我在谷歌上做了很多研究,但我不能成功

我也遇到过这个问题,我认为只有当显示的名称与电子邮件一起以电子邮件格式显示时才会发生:
some@ema.il
。我使用的是
php-imap/php-imap
package,它在内部使用
imap.*
php函数,所以可能是低级bug(功能?)

我只是在消息解析和记录IMAP错误后进行过滤:

/* @var $mailbox \PhpImap\Mailbox */
$mail = $mailbox->getMail($msgId, false);

// This will handle IMAP errors and will not trigger PHP notice
// You can log it somewhere in your own way.
$imapErrors = array_unique(array_filter(array_merge(
    (array) imap_errors(),
    (array) imap_alerts()
)));
然后,
$mail->getTo()
$mail->getCc()
可以使用如下内容进行过滤:

function filterValidEmails(array $emails)
{
    $validEmails = [];

    foreach ($emails as $email => $name) {
        if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
            $validEmails[$email] = $name;
        }
    }

    return $validEmails;
}

1.转义你的变量。2.PHP中的字符串连接运算符是点(.)运算符3。通过找出变量包含的内容,显示您希望实际标题看起来像什么。这是我们不能为你做的事。一个简单的就可以了。我的错误是发布到“=>array(size=2)”abc+u211+u210+677f79a63acf35c47ba7d6b7d21b7ae1d9de93d2@def.in'=>null'意外的\u数据\u之后_address@.syntax-错误。“=>空