给定 [] 的邮箱中的地址不符合 RFC 2822、 3.6.2。当电子邮件位于变量中时

2022-08-30 11:04:28

我有一个正确的电子邮件地址。我已经回显了它,但是当我发送它时,我得到以下错误:

 Address in mailbox given [] does not comply with RFC 2822, 3.6.2. 

为什么?我使用laravel(快速邮件)发送电子邮件:

$email = email@address.com

然后当我发送它时,抛出错误。

但是如果我直接使用字符串,它会发送它。

这是块:

 Mail::send('emails.activation', $data, function($message){
            $message->to($email)->subject($subject);
        });
                ->with('title', "Registered Successfully.");

答案 1

由于范围的原因,您的电子邮件变量为空,您应该设置一个 use 子句,例如:

Mail::send('emails.activation', $data, function($message) use ($email, $subject) {
    $message->to($email)->subject($subject);
});

答案 2

(我在PHP中使用SwiftMailer)

当我不小心发送字符串时,我遇到了这样的错误$email

$email = "someone@somewhere.com <Some One>";

当我打算发送的是

$email = Array("someone@somewhere.com"=>"Some One");

我不小心通过用于日志记录的字符串化函数运行它,所以一旦我再次开始发送数组,错误就消失了。


推荐