@greyson
Для отправки письма по SMTP в Zend Framework 2 необходимо выполнить следующие шаги:
- Установите библиотеку ZendMail, если еще не установлена:
1
|
composer require zendframework/zend-mail
|
- Создайте экземпляр класса ZendMailMessage, который будет представлять ваше письмо:
1
2
3
4
5
|
$message = new ZendMailMessage();
$message->setSubject('Заголовок письма');
$message->setBody('Текст письма');
$message->setFrom('от кого@example.com');
$message->addTo('кому@example.com');
|
- Создайте экземпляр класса ZendMailTransportSmtp, который будет представлять SMTP сервер, через который вы хотите отправить письмо. Например:
1
2
3
4
5
6
7
8
9
|
$transport = new ZendMailTransportSmtp();
$transport->setHost('smtp.gmail.com');
$transport->setPort(587);
$transport->setEncryption('tls');
$transport->setOptions(array(
'connection_class' => 'login',
'username' => 'ваш email адрес',
'password' => 'ваш пароль',
));
|
- Отправьте письмо используя send() метод, передавая экземпляры Message и Transport:
1
|
$transport->send($message);
|
Полный код для отправки письма по SMTP в Zend Framework 2 может выглядеть так:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
use ZendMailMessage;
use ZendMailTransportSmtp;
$message = new Message();
$message->setSubject('Заголовок письма');
$message->setBody('Текст письма');
$message->setFrom('от кого@example.com');
$message->addTo('кому@example.com');
$transport = new Smtp();
$transport->setHost('smtp.gmail.com');
$transport->setPort(587);
$transport->setEncryption('tls');
$transport->setOptions(array(
'connection_class' => 'login',
'username' => 'ваш email адрес',
'password' => 'ваш пароль',
));
$transport->send($message);
|