Не знаю кому это может понадобиться так как codeigniter без внешних библиотек не плохо отправляет письма, но все же, мне понадобилось, да еще и так чтобы установить эту библиотеку на старый сайт без composer.
Первое скачиваем библиотеку с github(https://github.com/PHPMailer/PHPMailer)
Создайте в папке libraries Вашего сайта папку PHPMailer, распакуйте архив с библиотекой(вообще Вам понадобится только папка src но я распаковал все) в эту папку,
Далее в папке libraries создайте файл PHPMailer_load.php, скопируйте в созданный файл следующий код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php class PHPMailer_load { public function __construct() { log_message('Debug', 'PHPMailer class is loaded.'); } public function load() { require_once(dirname(__FILE__) .'/PHPMailer/src/PHPMailer.php'); require_once(dirname(__FILE__) .'/PHPMailer/src/PHPMailer.php'); require_once(dirname(__FILE__) .'/PHPMailer/src/SMTP.php'); $objMail = new PHPMailer\PHPMailer\PHPMailer; return $objMail; } } |
Далее в нужном Вам контроллере подключаете файл PHPMailer_load и пользуетесь библиотекой PHPMailer, вот пример создания функции для отправки эл.писем с использованием библиотеки PHPMailer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
public function send_mail() { $this->load->library('phpmailer_load'); $mail = $this->phpmailer_load->load(); try { //Server settings $mail->SMTPDebug = 2; // Enable verbose debug output $mail->isSMTP(); // Set mailer to use SMTP $mail->Host = 'smtp.mail.ru'; // имя Вашего smtp сервера $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = ''; // логин от вашей почты $mail->Password = ''; // пароль от почтового ящика $mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted $mail->Port = 465; // TCP port to connect to //Recipients $mail->CharSet = 'UTF-8'; $mail->setFrom('@MAIL.RU', 'имя отправителя'); //адрес почты, с которой идет отправка $mail->addAddress('@mail.ru', 'имя1'); // адрес получателя $mail->addAddress('@gmail.com', 'имя2'); // адрес получателя, если не нужно удаляем //Content $mail->isHTML(true); // Set email format to HTML $mail->Subject = 'Тема письма'; $mail->Body = 'Привет, мир! <p>Это строка <b>HTML кода</b></p>'; $mail->AltBody = 'Привет, мир! Это альтернативное письмо'; $mail->send(); echo('Письмо отправленно'); } catch (Exception $e) { echo 'Письмо не отправлено, ошибка отправки: ', $mail->ErrorInfo; } } |
There are no comments