Как отправить QRCode в Gmail с помощью PHPMailer (CodeIgniter 3) - PullRequest
1 голос
/ 07 мая 2019

У меня есть некоторый скрипт Codeigniter, где пользователь хочет зарегистрироваться, и код qrcode отправляется в пользовательскую почту.Но как это отправить?переменная $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 = 'xxxxx@gmail.com';
        $mail->Password = '******';
        $mail->SMTPSecure = 'tls';
        $mail->Port     = 587;

        $mail->setFrom('xxxxx@gmail.com', 'RyanK');
        $mail->addReplyTo('xxxxx@gmail.com', 'RyanK');

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

        // Add cc or bcc 
        $mail->addCC('cc@example.com');
        $mail->addBCC('bcc@example.com');

        // 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';
        }

1 Ответ

0 голосов
/ 07 мая 2019

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...