Enviar emails
Enviar emails
Para enviar correos electrónicos en CakePHP, primero importamos las clases necesarias:
use Cake\Mailer\Email;use Cake\Routing\Router;
Luego, creamos una instancia del objeto Email
y configuramos el correo electrónico:
$email = new Email();try { $res = $email->template('passwordrecovery', 'default') ->viewVars(['url' => Router::fullbaseUrl() . '/recoverys/passwordRecovery?hrp=' . $recovery->hash]) ->emailFormat('html') ->to([$user->mail => $user->first_name . ' ' . $user->second_name]) ->from($this->getWebText('email_contacto_admin')) ->subject(__('Asunto del email', 'admin')) ->send();
$this->Flash->success(__('The email has been sent to ') . $user->mail);} catch (Exception $e) { $this->Flash->error(__('Error when sending email.')); //echo 'Exception : ', $e->getMessage(), "\n";}
Este código configura el correo electrónico con una plantilla passwordrecovery
y el formato html
. Luego, se especifica el destinatario, el remitente y el asunto del correo electrónico. Finalmente, se envía el correo electrónico y se muestra un mensaje de éxito o error según corresponda.
Se proporciona un ejemplo adicional para enviar un correo electrónico en CakePHP:
use Cake\Mailer\Email;use Cake\Routing\Router;
$email = new Email();try { $res = $email->template('passwordrecovery', 'default') ->viewVars(['url' => Router::fullbaseUrl() . '/web/recoverys/passwordRecovery?hrp=' . $recovery->hash]) ->emailFormat('html') ->to([$user->mail => $user->first_name . ' ' . $user->second_name]) ->from($this->getWebText('email_contacto_admin')) ->send();
$this->Flash->success(__('The email has been sent to ') . $user->mail);} catch (Exception $e) { $this->Flash->error(__('Error when sending email.')); //echo 'Exception : ', $e->getMessage(), "\n";}
Este ejemplo sigue una estructura similar al primero, donde se configura y envía el correo electrónico, seguido de la manipulación de errores si ocurriera algún problema durante el envío.