with texto strip_tags remove limpiar from eliminar allow all php laravel email post smtp

php - texto - Código de respuesta esperada 220 pero obtuvo el código "" con mensaje ""



string strip_tags (3)

Cada vez que envío el formulario de contacto en mi aplicación Laravel, recibo el mensaje de error en el título. He seguido la recomendación en esta discusión , pero no ha tenido ningún efecto incluso después de la php artisan cache:clear y php artisan config:cache . Aquí está el código relevante:

.env

MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 [email protected] MAIL_PASSWORD=password MAIL_ENCRYPTION=ssl

config / mail.php

<?php return [ ''driver'' => env(''MAIL_DRIVER'', ''smtp''), ''host'' => env(''MAIL_HOST'', ''smtp.gmail.org''), ''port'' => env(''MAIL_PORT'', 587), ''from'' => [ ''address'' => env(''MAIL_FROM_ADDRESS'', ''[email protected]''), ''name'' => env(''MAIL_FROM_NAME'', ''Example''), ], ''encryption'' => env(''MAIL_ENCRYPTION'', ''tls''), ''username'' => env(''MAIL_USERNAME''), ''password'' => env(''MAIL_PASSWORD''), ''sendmail'' => ''/usr/sbin/sendmail -bs'', ''markdown'' => [ ''theme'' => ''default'', ''paths'' => [ resource_path(''views/vendor/mail''), ], ], ];

Estaba bajo la impresión de la documentación de que el ''desde'' global no se activaría a menos que no se proporcionara ninguna otra dirección, pero en mi controlador para el correo, especifiqué la dirección suministrada al formulario de contacto como ''de,'' es que un punto de conflicto de alguna manera? No parece ser de los detalles del mensaje de error.

Como el formulario de contacto no es una vista distinta sino la parte inferior de la vista de la página principal, la función del controlador reside en PageController

public function postContact(Request $request) { $this->validate($request, [ ''email'' => ''required|email'', ''subject'' => ''required|min:3'', ''message'' => ''required|min:10'' ]); $data = array( ''email'' => $request->email, ''subject'' => $request->subject, ''mailbody'' => $request->message ); Mail::send(''emails.contact'', $data, function($message) use ($data) { $message->from($data[''email'']); $message->to(''[email protected]''); $message->subject($data[''subject'']); }); }


Creo que debes definir al remitente del correo ( MAIL_FROM_ADDRESS ) como tu gmail con el que deseas usar el envío de correos electrónicos.

por ejemplo, si su MAIL_USERNAME en .env es [email protected] , debe definir su MAIL_FROM_ADDRESS (o, por supuesto, $mail->from() ) como [email protected] .

No creo que Gmail le permita enviar correos electrónicos como otro usuario (otra dirección).



MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=465 [email protected] MAIL_PASSWORD=secreat MAIL_ENCRYPTION=ssl

Actualice el código anterior en Su archivo .env y luego ejecute estos comandos en la terminal

  1. composer dump-autoload

  2. php artisan serve