v2.5.2
Giriş yap

PHPMailer email gönderemiyorum

egemennk
6,766 defa görüntülendi

Merhaba bir projede kullanmak için PHPMailer sınıfı test ediyordum ama bir türlü email gönderemedim. yardımlarınız için şimdiden teşekkürler.

try {
        //Server settings
        $mail->SMTPDebug = 1;                      // Enable verbose debug output
        $mail->isSMTP();                                            // Send using SMTP
        $mail->Host       = 'smtp.gmail.com';                    // Set the SMTP server to send through
        $mail->SMTPAuth   = true;                                   // Enable SMTP authentication
        $mail->Username   = 'email';                     // SMTP username
        $mail->Password   = 'şifre';                               // SMTP password
        $mail->SMTPSecure = "ssl";         // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged
        $mail->Port       = 465;                                    // TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above

        //Recipients
        $mail->setFrom('email', 'isim');
        $mail->addAddress('email', 'isim');     // Add a recipient
        

        // Content
        $mail->isHTML(true);                                  // Set email format to HTML
        $mail->Subject = 'mail test';
        $mail->Body    = '<b>Test</b>';

        $mail->send();
        echo 'Message has been sent';
    } catch (Exception $e) {
        echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
    }
h4ckdr0
539 gün önce
<?php

// PHPMailer ile çoklu mail gönderme işlemi yapan sınıf
require_once 'class.phpmailer.php';                 // PHPMailer sınıfını dahil ediyoruz
require_once 'class.smtp.php';                      // SMTP sınıfını dahil ediyoruz

class Mailer {                                      // Mailer sınıfı oluşturuyoruz

    private $mail;                                  // Mailer sınıfı içinde kullanacağımız mail değişkeni

    public function __construct() {                 // Mailer sınıfı oluşturulduğunda çalışacak olan fonksiyon
        $this->mail = new PHPMailer();              // Mailer sınıfı içindeki mail değişkenine PHPMailer sınıfını atıyoruz
        $this->mail->IsSMTP();                      // SMTP kullanacağımızı belirtiyoruz
        $this->mail->SMTPAuth = true;               // SMTP kullanıcı adı ve şifre ile giriş yapacağımızı belirtiyoruz
        $this->mail->SMTPSecure = 'ssl';            // SSL bağlantısı kullanacağımızı belirtiyoruz
        $this->mail->Host = 'smtp.gmail.com';       // SMTP sunucusunun adresini belirtiyoruz
        $this->mail->Port = 465;                    // SMTP sunucusunun portunu belirtiyoruz
        $this->mail->Username = '[email protected]';   // SMTP kullanıcı adını belirtiyoruz
        $this->mail->Password = '************';     // SMTP şifresini belirtiyoruz
        $this->mail->SetFrom('[email protected]', 'Gönderen Adı'); // Gönderen adresini ve adını belirtiyoruz
        $this->mail->CharSet = 'UTF-8';             // Karakter setini belirtiyoruz
    }

    public function send($to, $subject, $message) { // Tekil mail gönderme işlemi yapan fonksiyon
        $this->mail->Subject = $subject;            // Mail konusunu belirtiyoruz
        $this->mail->MsgHTML($message);             // Mail içeriğini belirtiyoruz
        $this->mail->AddAddress($to);               // Mail adresini belirtiyoruz
        if (!$this->mail->Send()) {                 // Mail gönderme işlemi başarısız olursa
            return false;                           // false değeri döndürüyoruz
        } else {                                    // Mail gönderme işlemi başarılı olursa
            return true;                            // true değeri döndürüyoruz
        }
    }

    public function sendMultiple($to, $subject, $message) { // Çoklu mail gönderme işlemi yapan fonksiyon
        $this->mail->Subject = $subject;                    // Mail konusunu belirtiyoruz
        $this->mail->MsgHTML($message);                     // Mail içeriğini belirtiyoruz
        foreach ($to as $address) {                         // Mail adreslerini döngüye alıyoruz
            $this->mail->AddAddress($address);              // Mail adresini belirtiyoruz
        }   
        if (!$this->mail->Send()) {                         // Mail gönderme işlemi başarısız olursa
            return false;                                   // false değeri döndürüyoruz               
        } else {                                            // Mail gönderme işlemi başarılı olursa
            return true;                                    // true değeri döndürüyoruz
        }
    }

}

// Mail gönderme işlemi
$mailer = new Mailer();                                         // Mailer sınıfını oluşturuyoruz

$to = '[email protected]';                                 // Tekil mail gönderme işlemi için mail adresi
$subject = 'PHPMailer ile Tekli Mail Gönderme';                 // Mail konusu
$message = 'PHPMailer ile tekli mail gönderme işlemi yaptık.';  // Mail içeriği
if ($mailer->send($to, $subject, $message)) {                   // Tekil mail gönderme işlemi başarılı olursa
    echo 'E-posta başarıyla gönderildi.';                       // Ekrana mesaj yazdırıyoruz
} else {                                                        // Tekil mail gönderme işlemi başarısız olursa
    echo 'E-posta gönderilemedi.';                              // Ekrana mesaj yazdırıyoruz
}

// Çoklu mail gönderme işlemi
$to = [                                                         // Çoklu mail gönderme işlemi için mail adreslerini diziye atıyoruz
    '[email protected]',
    '[email protected]',
    '[email protected]'
];
$subject = 'PHPMailer ile Çoklu Mail Gönderme';
$message = 'PHPMailer ile çoklu mail gönderme işlemi yaptık.';
if ($mailer->sendMultiple($to, $subject, $message)) {
    echo 'E-posta başarıyla gönderildi.';
} else {
    echo 'E-posta gönderilemedi.';
}

?>