Мне не хватало в ReactPHP простого инструмента для асинхронной отправки почты, так появился react-smtp-client
$loop = \React\EventLoop\Factory::create();
// у меня установлен postfix, в котором есть локальный smtp сервер
$smtp = new \Shuchkin\ReactSMTP\Client( $loop ); // localhost:25
$smtp->send('info@example.org', 'sergey.shuchkin@gmail.com', 'Test ReactPHP mailer', 'Hello, Sergey!')->then(
function() {
echo 'Message sent'.PHP_EOL;
},
function ( \Exception $ex ) {
echo 'SMTP error '.$ex->getCode().' '.$ex->getMessage().PHP_EOL;
}
);
$loop->run();
Получился аналог mail() для фреймворка ReactPHP. Можно подключаться хоть к GMail:
$smtp = new \Shuchkin\ReactSMTP\Client( $loop, 'tls://smtp.google.com:465', 'username@gmail.com','password' );
хоть к серверу Яндекс.Почты:
$smtp = new \Shuchkin\ReactSMTP\Client( $loop, 'tls://smtp.yandex.ru:465', 'username@yandex.ru', '**password**' );
Устанавливается через composer
composer require shuchkin/react-smtp-client