Подскажите как можно сделать например приходит одному пользователю письмо в личный кабинет от другого пользователя, как отправить уведомления на почту тому которому написали, пользователи все с разными почтовыми ящиками
Есть кусок кода
<?= Yii::t('youdate', 'Hello') ?>,
<?= Yii::t('youdate', 'You have new messages') ?>:
<?php foreach ($messages as $message): ?>
<?php printf("%s: %s at %s\n", $message->sender->profile->getDisplayName(), $message->text, Yii::$app->formatter->asDatetime($message->created_at)); ?>
<?php endforeach; ?>
Обычно в норм проекте действия типа отправки обрабатываются не там, где вывод HTML, а в контроллере и т.п.
Если не получается найти – посмотрите в DevTools на какой путь отправляется POST запрос при отправке сообщения, и ищите его поиском по файлам (Ctrl+Shift+F в большинстве текстовых редакторов продвинутее блокнота).
для отправки более сложных сообщений, таких как HTML-письма, или когда вам нужно отправить большое количество писем, лучше использовать библиотеки, такие как PHPMailer.
<?php
use PHPMailer\PHPMailer\PHPMailer;
require 'vendor/autoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'smtp.hostinger.com';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = 'test@hostinger-tutorials.com';
$mail->Password = 'EMAIL_ACCOUNT_PASSWORD';
$mail->setFrom('test@hostinger-tutorials.com', 'Mr. Drago');
$mail->addAddress('example@gmail.com', 'Receiver Name');
if ($mail->addReplyTo($_POST['email'], $_POST['name'])) {
$mail->Subject = 'PHPMailer contact form';
$mail->isHTML(false);
$mail->Body = <<<EOT
Email: {$_POST['email']}
Name: {$_POST['name']}
Message: {$_POST['message']}
EOT;
if (!$mail->send()) {
$msg = 'Sorry, something went wrong. Please try again later.';
} else {
$msg = 'Message sent! Thanks for contacting us.';
}
} else {
$msg = 'Share it with us!';
}
?>
Сюда вписывается адрес получателя, правильно я понял, а если на сайте пользователь случайный и ты ему отправляешь сообщение, есть какая нибудь инфа что нужно вписать в место почты.
а если на сайте пользователь случайный и ты ему отправляешь сообщение
Ну вот на улице ты подходишь к случайному человеку и говоришь: я хочу присылать тебе по почте письма со всяким спамом, давай сюда свой домашний адрес или челюсть сломаю. Человек вежливо диктует тебе свой домашний адрес с почтовым индексом, а ты ему начинаешь присылать свою рекламу.
Бывает, конечно и не так. Бывает что человек идёт в специальное место, на почту, где продаются газеты по подпискам. Но это явно неслучайный человек, да и идёт он не куда попало. Но ты спрашивал про случайного…