Tag Archives: Extension missing: openssl

Phpmailer’s solution to extension missing: OpenSSL error

Recently, when writing a web page, you need to use phpmailer to send e-mail. Write an example according to the demo given on the official website, but the error extension missing: OpenSSL is reported

Finally, it is found that the configuration in php.ini needs to be modified:

Put one of them

      extension=php_openssl.dll

open it

   

The demo code is added as follows:

 1 <?php
 2 require 'PHPMailerAutoload.php';
 3 
 4 $mail = new PHPMailer;
 5 
 6 //$mail->SMTPDebug = 3;                               // Enable verbose debug output
 7 
 8 $mail->isSMTP();                                      // Set mailer to use SMTP
 9 $mail->Host = 'smtp1.example.com;smtp2.example.com';  // Specify main and backup SMTP servers
10 $mail->SMTPAuth = true;                               // Enable SMTP authentication
11 $mail->Username = '[email protected]';                 // SMTP username
12 $mail->Password = 'secret';                           // SMTP password
13 $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
14 $mail->Port = 587;                                    // TCP port to connect to
15 
16 $mail->setFrom('[email protected]', 'Mailer');
17 $mail->addAddress('[email protected]', 'Joe User');     // Add a recipient
18 $mail->addAddress('[email protected]');               // Name is optional
19 $mail->addReplyTo('[email protected]', 'Information');
20 $mail->addCC('[email protected]');
21 $mail->addBCC('[email protected]');
22 
23 $mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
24 $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
25 $mail->isHTML(true);                                  // Set email format to HTML
26 
27 $mail->Subject = 'Here is the subject';
28 $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
29 $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
30 
31 if(!$mail->send()) {
32     echo 'Message could not be sent.';
33     echo 'Mailer Error: ' . $mail->ErrorInfo;
34 } else {
35     echo 'Message has been sent';
36 }