PHPmailer without using SMTP

后端 未结 2 1780
面向向阳花
面向向阳花 2021-02-08 22:08

I\'ve added the PHPMailer folder to my root folder on my web server and I just get an error that has to do with SMTP.

Is there a way to use PHPMailer without needing to

相关标签:
2条回答
  • 2021-02-08 22:11

    Joseph Kreifels II is correct.

    In particular, see the comments in the class.phpmailer.php file:

    /**
     * Sets Mailer to send message using SMTP.
     * @return void
     */
    public function IsSMTP() {
       $this->Mailer = 'smtp';
    }
    
    /**
     * Sets Mailer to send message using PHP mail() function.
     * @return void
     */
    public function IsMail() {
      $this->Mailer = 'mail';
    }
    
    /**
     * Sets Mailer to send message using the $Sendmail program.
     * @return void
     */
    public function IsSendmail() {
      if (!stristr(ini_get('sendmail_path'), 'sendmail')) {
        $this->Sendmail = '/var/qmail/bin/sendmail';
      }
      $this->Mailer = 'sendmail';
    }
    

    So, be sure to remove $mail->IsSMTP(); from your settings, but also you may need to add $mail->IsMail(); or $mail->IsSendmail(); depending on your server setup.

    0 讨论(0)
  • 2021-02-08 22:18

    I commented out the SMTP lines and now it works

    <?php
    
    require 'phpmailer/PHPMailerAutoload.php';
    
    $mail = new PHPMailer;
    
    //$mail->SMTPDebug = 3;                               // Enable verbose debug output
    
    //$mail->isSMTP();                                      // Set mailer to use SMTP
    //$mail->Host = 'smtp.gmail.com';  // Specify main and backup SMTP servers
    //$mail->SMTPAuth = true;                               // Enable SMTP authentication
    //$mail->Username = '';                 // SMTP username
    //$mail->Password = '';                           // SMTP password
    //$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
    //$mail->Port = 587;                                    // TCP port to connect to
    
    $mail->From = 'from@example.com';
    $mail->FromName = 'Mailer';
    $mail->addAddress('name@domain.com', 'User');     // Add a recipient
    $mail->addAddress('ellen@example.com');               // Name is optional
    $mail->addReplyTo('info@example.com', 'Information');
    $mail->addCC('cc@example.com');
    $mail->addBCC('bcc@example.com');
    
    $mail->addAttachment('');         // Add attachments
    $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
    $mail->isHTML(true);                                  // Set email format to HTML
    
    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
    
    if(!$mail->send()) {
        echo 'Message could not be sent.';
        echo 'Mailer Error: ' . $mail->ErrorInfo;
    } else {
        echo 'Message has been sent';
    }
    ?>
    
    0 讨论(0)
提交回复
热议问题