v2.5.2
Giriş yap

php smtp mail gönderimi

kitfox
875 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Herkeze Merhaba; Aşağıdaki kod çalışıyor öncelikle mail bilgilerini dikkate almayın. Benim problemim bu kodu if koşullu ifadesinin içine aldığımda hata alıyorum sürekli değişik kodlarda denedim.
erbilen.net te yazan ''PHPMailer Sınıfı ile Gmail Üzerinden E-Posta Gönderimi'' konusunuda okudum. Büyük ihtimal ben php yazım kurallarında bir kaçını yok sayıyorum gibi geliyor.
DERDİM;

if (isset($_POST['register'])) { 

kodu buraya atınca çalışmıyor.

}

Bu hatayı alıyorum.
Parse error: syntax error, unexpected 'use' (T_USE) in C:xampphtdocstest.php on line 6

Değişik yazımların bazılarında bu hatayı
Fatal error: Uncaught Error: Class 'PHPMailer' not found in C:xampphtdocstest.php:12 Stack trace: #0 {main} thrown in C:xampphtdocstest.php on line 12

<?php
   
use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerException;
use PHPMailerPHPMailerSMTP;

require 'PHPMailer/PHPMailer.php';
require 'PHPMailer/Exception.php';
require 'PHPMailer/SMTP.php';


$mail = new PHPMailer(true);

try {

    $mail->SMTPDebug = 0;
    $mail->isSMTP();
    $mail->Host       = 'smtp.gmail.com';
    $mail->SMTPAuth   = true;
    $mail->Username   = '[email protected]';
    $mail->Password   = 'şifre';
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
    $mail->Port       = 587;
    $mail->setFrom('[email protected]', 'ahmet');
    $mail->addAddress('[email protected]', 'Alıcı Ad Soyad');
    $mail->addAddress('[email protected]');
    $mail->isHTML(true);
    $mail->Subject = 'Üyelik işlemi';
    $mail->Body    = 'uzun uaf';
    $mail->send();
    echo 'Tebrikler! Email başarıyla gönderildi!';
} catch (Exception $e) {
    echo "Ops! Email iletilemedi. Hata: {$mail->ErrorInfo}";
}
?>
Cevap yaz
Cevaplar (3)
frdgk
1482 gün önce
<?php
   
use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerException;

require 'PHPMailer/Exception.php';
require 'PHPMailer/PHPMailer.php';
require 'PHPMailer/SMTP.php';

$mail = new PHPMailer(true);

if ($_POST['register']) { 

    try {
    
        $mail->SMTPDebug = 0;
        $mail->isSMTP();
        $mail->Host       = 'smtp.gmail.com';
        $mail->SMTPAuth   = true;
        $mail->Username   = '[email protected]';
        $mail->Password   = 'şifre';
        $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
        $mail->Port       = 587;
        $mail->setFrom('[email protected]', 'ahmet');
        $mail->addAddress('[email protected]', 'Alıcı Ad Soyad');
        $mail->addAddress('[email protected]');
        $mail->isHTML(true);
        $mail->Subject = 'Üyelik işlemi';
        $mail->Body    = 'uzun uaf';
        $mail->send();
        echo 'Tebrikler! Email başarıyla gönderildi!';
    } catch (Exception $e) {
        echo "Ops! Email iletilemedi. Hata: {$mail->ErrorInfo}";
    }
}

?>
kitfox
1481 gün önce

frdgk kardeşim cevap için teşekkürler. Bende sadece koşullu ifadenin dışına use olan kısımlarını taşıdım. Dün biraz uğraşıp halletmiştim. Senin cevabınında çalışıyor olması lazım.
okumusmr kardeşim cevabını denemedim ama burda sıkıntı aslında şu benim anladığım kadarı ile ''use'' lar süslü parantezler içinde çalışmıyor.

okumusmr
1482 gün önce

İsset yerine empty kullananırsan sorun çözülebilir. Ben kendi problemimi öyle çözmüştüm.


if(empty($_POST['register'])  {
    use PHPMailerPHPMailerPHPMailer;
    use PHPMailerPHPMailerException;

    require 'PHPMailer/Exception.php';
    require 'PHPMailer/PHPMailer.php';
    require 'PHPMailer/SMTP.php';

    $mail = new PHPMailer(true);

    if (isset($_POST['register'])) { 

        try {
    
            $mail->SMTPDebug = 0;
            $mail->isSMTP();
            $mail->Host       = 'smtp.gmail.com';
            $mail->SMTPAuth   = true;
            $mail->Username   = '[email protected]';
            $mail->Password   = 'şifre';
            $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
            $mail->Port       = 587;
            $mail->setFrom('[email protected]', 'ahmet');
            $mail->addAddress('[email protected]', 'Alıcı Ad Soyad');
            $mail->addAddress('[email protected]');
            $mail->isHTML(true);
            $mail->Subject = 'Üyelik işlemi';
            $mail->Body    = 'uzun uaf';
            $mail->send();
            echo 'Tebrikler! Email başarıyla gönderildi!';
        } catch (Exception $e) {
            echo "Ops! Email iletilemedi. Hata: {$mail->ErrorInfo}";
        }
    }
}