Address in mailbox given [] does not comply with RFC 2822, 3.6.2. when email is in a variable
I have a correct email address. I have echoed it, but when I send it, I get the following error:
Address in mailbox given [] does not comply with RFC 2822, 3.6.2.
Why? I use laravel (swift mailer) to send email:
$email = [email protected]
and then when I send it, the error is thrown.
But if I directly use the string, it sends it.
Here is the block:
Mail::send('emails.activation', $data, function($message){
$message->to($email)->subject($subject);
});
->with('title', "Registered Successfully.");
Your email variable is empty because of the scope, you should set a use clause such as:
Mail::send('emails.activation', $data, function($message) use ($email, $subject) {
$message->to($email)->subject($subject);
});
(I'm using SwiftMailer in PHP)
I was getting an error like that when I was accidentally sending a string for $email
$email = "[email protected] <Some One>";
When what I meant to be sending was
$email = Array("[email protected]"=>"Some One");
I was accidentally running it through a stringify function that I was using for logging, so once I started sending the array again, the error went away.
Make sure your email address variable is not blank. Check using
print_r($variable_passed);