我有一个正确的电子邮件地址。我已经回应了它,但是当我发送它时,我收到以下错误:
Address in mailbox given [] does not comply with RFC 2822, 3.6.2.
为什么?我使用 laravel (swift mailer) 发送电子邮件:
$email = email@address.com
然后当我发送它时,就会抛出错误。
但如果我直接使用字符串,它会发送它。
这是块:
Mail::send('emails.activation', $data, function($message){
$message->to($email)->subject($subject);
});
->with('title', "Registered Successfully.");
原文由 user3077503 发布,翻译遵循 CC BY-SA 4.0 许可协议
我将在这里为初学者解释它。在回调函数之外声明的任何变量都超出了该回调函数的范围。所以如果你想在回调函数中使用这样的变量,你必须把它们放在 use() 中。就像问题一样: \(email 和 \)subject 必须在回调之外声明,所以使用 use() 来使用这些变量。此外,它可以是任意数量的变量。
对于 RFC 部分,SwiftMailer 严格执行 RFC 标准,因为它应该 bcz 邮件服务,如 Google、Apple 严格监控与电子邮件相关的所有内容并将电子邮件标记为不遵循这些标准的域的垃圾邮件。