rem - php comment several lines
La dirección en el buzón dado[] no cumple con RFC 2822, 3.6.2. cuando el correo electrónico está en una variable (10)
(Estoy usando SwiftMailer en PHP)
Recibí un error como ese cuando accidentalmente envié una cadena para $ email
$email = "[email protected] <Some One>";
Cuando lo que quería enviar era
$email = Array("[email protected]"=>"Some One");
Accidentalmente lo estaba ejecutando a través de una función Stringify que estaba usando para el registro, así que una vez que empecé a enviar la matriz de nuevo, el error desapareció.
Tengo una dirección de correo electrónico correcta. Lo he repetido. pero cuando lo envío me sale el siguiente error:
Address in mailbox given [] does not comply with RFC 2822, 3.6.2.
¿Por qué? Yo uso laravel (swift mailer) para enviar correo electrónico.
$ email = [email protected]
Y luego, cuando lo envío, se arroja el error.
Pero si uso directamente la cadena, la envía.
Aquí está el bloque:
Mail::send(''emails.activation'', $data, function($message){
$message->to($email)->subject($subject);
});
->with(''title'', "Registered Successfully.");
Es porque la dirección de correo electrónico que se está enviando está en blanco. ¿Ves esos soportes vacíos? eso significa que la dirección de correo electrónico no se está poniendo en la dirección $ de la función swiftmailer.
Estos errores ocurren cuando la variable $ email está vacía o, a veces, cuando el correo no existe, intente con un correo existente
He enfrentado el mismo problema y lo he arreglado. Por favor, asegúrese de que algunas cosas estén escritas a continuación:
Mail::send(''emails.auth.activate'', array(''link''=> URL::route(''account-activate'', $code),''username''=>$user->username),function($message) use ($user) {
$message->to($user->email , $user->username)->subject(''Active your account !'');
});
Este debe ser tu email . Activación.
Hello {{ $username }} , <br> <br> <br>
We have created your account ! Awesome ! Please activate by clicking the following link <br> <br> <br>
----- <br>
{{ $link }} <br> <br> <br>
----
La respuesta a su razón por la que no puede llamar la variable $ email a su función de envío de correo. Debe llamar a $ variable de usuario, entonces puede escribir su variable deseada como $ usuario-> variable
Gracias :)
Hoy tuve un problema muy similar y la solución fue tal como es ...
$email = Array("Zaffar Saffee" => "[email protected]");
$schedule->command(''cmd:mycmd'')
->everyMinute()
->sendOutputTo("/home/forge/dev.mysite.com/storage/logs/cron.log")
->emailWrittenOutputTo($email);
Se laravel 5.2 aunque ...
mi problema básico era que estaba pasando una cadena en lugar de una matriz, así que el error era
->emailWrittenOutputTo(''[email protected]''); // string, we need an array
Las variables de datos ($ email, $ asunto) parecen ser globales. Y los globales no pueden leerse dentro de las funciones. Debe pasarlos como parámetros (la forma recomendada) o declararlos como globales.
Intente de esta manera:
Mail::send(''emails.activation'', $data, function($message, $email, $subject){
$message->to($email)->subject($subject);
});
->with(''title'', "Registered Successfully.");
Prueba esto.
Mail::send(''emails.activation'', $data, function($message) use($email,$subject){
$message->to($email)->subject($subject);
});
->with(''title'', "Registered Successfully.");
Su variable de correo electrónico está vacía debido al alcance, debe establecer una cláusula de uso como:
Mail::send(''emails.activation'', $data, function($message) use ($email) {
$message->to($email)->subject($subject);
});
asegúrese de que su variable de dirección de correo electrónico no esté en blanco. comprobar utilizando
print_r ($ variable_passed);
Mail::send(''emails.activation'', $data, function($message){
$message->from(''email@from'', ''name'');
$message->to($email)->subject($subject);
});
No sé por qué, pero en mi caso, puse la información de "De" en la función y funciona bien.