Как отправить QRCode в Gmail с помощью PHPMailer (CodeIgniter 3)

У меня есть скрипт Codeigniter, в котором пользователь хочет зарегистрироваться, а qrcode отправляется на Gmail пользователя. Но как это отправить? переменная $mailContent

это мой код

        $name = $this->input->post('name');
        $email = $this->input->post('email');
        $no_hp = $this->input->post('no_hp');
        $gen = $this->input->post('gen');
        $method = $this->input->post('method');

        $this->load->library('ciqrcode');

        $config['cacheable']    = true; //boolean, the default is true
        $config['cachedir']     = './assets/'; //string, the default is application/cache/
        $config['errorlog']     = './assets/'; //string, the default is application/logs/
        $config['imagedir']     = './assets/images/'; 
        $config['quality']      = true; //boolean, the default is true
        $config['size']         = '1024'; //interger, the default is 1024
        $config['black']        = array(224,255,255); // array, default is array(255,255,255)
        $config['white']        = array(70,130,180); // array, default is array(0,0,0)
        $this->ciqrcode->initialize($config);

        $image_name=$name.'.png'; 

        $params['data'] = $name; 
        $params['level'] = 'H'; //H=High
        $params['size'] = 10;
        $params['savename'] = FCPATH.$config['imagedir'].$image_name; 
        $this->ciqrcode->generate($params); 

        //PHP Mailer
        // Load PHPMailer library
        $this->load->library('phpmailer_lib');

        // PHPMailer object
        $mail = $this->phpmailer_lib->load();

        // SMTP configuration
        $mail->isSMTP();
        $mail->Host     = 'smtp.gmail.com';
        $mail->SMTPAuth = true;
        $mail->Username = '[email protected]';
        $mail->Password = '******';
        $mail->SMTPSecure = 'tls';
        $mail->Port     = 587;

        $mail->setFrom('[email protected]', 'RyanK');
        $mail->addReplyTo('[email protected]', 'RyanK');

        // Add a recipient
        $mail->addAddress($email);

        // Add cc or bcc 
        $mail->addCC('[email protected]');
        $mail->addBCC('[email protected]');

        // Email subject
        $mail->Subject = 'Send Email via SMTP using PHPMailer in CodeIgniter';

        // Set email format to HTML
        $mail->isHTML(true);

        // Email body content
        $mailContent = "<h1>Send HTML Email using SMTP in CodeIgniter</h1>
            <p></p>";
        $mail->Body = $mailContent;

        // Send email
        if (!$mail->send()){
            echo 'Message could not be sent.';
            echo 'Mailer Error: ' . $mail->ErrorInfo;
        }else{
            echo 'Message has been sent';
        }
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
724
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы уже используете его для установки свойства Body в $mail->Body = $mailContent;. Чтобы добавить изображение из внешнего файла:

$mail->addAttachment('path/to/file.png');

Если ваш генератор QR-кода создает двоичную строку, содержащую данные PNG, используйте addStringAttachment:

$mail->addStringAttachment($imagedata, 'QR code.png');

В качестве альтернативы вы можете встроить его и создать ссылку на него, которую вы можете использовать в своем теле сообщения, используя addStringEmbeddedImage.

Другие вопросы по теме