• 01-05-2021, 22:26:32
    #1
    Merhaba mail onaylı üye sistemi kurmaya çalışıyorum aşağıdaki kodları kullanıyorum. Database kayıt yaptım ama mail bir türlü gelmiyor. yanlış yazdığım bir yer olabilir. incelerseniz sevinirim şimdiden teşekkür eder iyi çalışmalar dilerim.

    <?php

    include"baglan.php";

    use PHPMailerPHPMailerPHPMailer;
    use PHPMailerPHPMailerException;

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


    if(isset($_POST["isim"])){
    $gelenisim = $_POST["isim"];
    }else{
    $gelenisim = "";
    }


    if(isset($_POST["email"])){
    $gelenmail = $_POST["email"];
    }else{
    $gelenmail = "";
    }


    if(isset($_POST["password"])){
    $gelenpassword = $_POST["password"];
    }else{
    $gelenpassword = "";
    }

    $Md5 = md5($gelenpassword);
    $durum = 0;
    $aktivasyon =md5(rand(0,9999999999));


    $uyeekle = $db->prepare("INSERT INTO uyeler(uye_adi, uye_sifre, uye_eposta, uye_kod, uye_durum) values (?,?,?,?,?)");
    $uyeekle->execute([$gelenisim, $Md5, $gelenmail, $aktivasyon, $durum]);

    if($uyeekle>0){

    $mesajhazirla= "Merhaba Sayın"."&nsbp;".$gelenisim."<br>"." yapmış olduğunuz üyelik kaydınızı tamamlamak için <a href='localhost/uyelik?Aktivasyon=".$aktivasyon."&Email=".$gelenma il."'>Buraya Tıklayınız..</a><br>Saygılarımzla<br>";

    //Instantiation and passing `true` enables exceptions
    $mail = new PHPMailer(true);

    try {
    //Server settings
    $mail->SMTPDebug = 0; // SMTP hata ayıklama // 0 = mesaj göstermez (testler bittikten sonra kullanılmalıdır) // 1 = sadece mesaj gösterir // 2 = hata ve mesaj gösterir
    $mail->isSMTP();
    $mail->SMTPAuth = true; // SMTP doğrulamayı etkinleştirir
    $mail->Username = 'uyelik@mail.web.tr'; // SMTP kullanıcı adı (gönderici adresi)
    $mail->Password = '123456'; // SMTP şifre
    $mail->Host = 'mail.mail.web.tr'; // Mail sunucusunun adresi
    $mail->Port = 587; // Normal bağlantı için 587, güvenli bağlantı için 465 yazın
    $mail->SMTPSecure = 'tls'; // Enable TLS encryption, '' , 'ssl' , 'tls'
    $mail->SMTPOptions = array(
    'ssl' => [
    'verify_peer' => false,
    'verify_peer_name' => false,
    'allow_self_signed' => true,
    ],
    );
    $mail->SetLanguage('tr', 'PHPMailer/language/');
    $mail->CharSet = 'UTF-8';

    //Recipients
    $mail->setFrom('uyelik@mail.web.tr', 'AKTİVASYON');

    $mail->addAddress($gelenmail, $gelenisim); //Add a recipient

    //Content
    $mail->isHTML(true); //Set email format to HTML
    $mail->Subject = ' AKTİVASYON';
    $mail->Body = $mesajhazirla;
    $mail->AltBody = 'www.mail.web.tr';

    $mail->send();
    echo 'Message has been sent';
    } catch (Exception $e) {
    echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
    }

    header("Location:index.php?durum=basarili");

    }else{

    header("Location:index.php?durum=basarisiz");

    }


    ?>
  • 01-05-2021, 22:48:17
    #2
    Merhaba username password ve hostu gmail veya Yandex in sunucusuna göre ayarlayıp denersen şuanki mail sunucundan mı kaynaklı yoksa kütüphaneden mi kaynaklı sorun var anlayabilirsin
  • 01-05-2021, 23:14:13
    #3
    mail->Host = 'mail.mail.web.tr' burası yanlış olabilir mi

    Bunlara gerek yok.
    $mail->SMTPOptions = array(
    'ssl' => [
    'verify_peer' => false,
    'verify_peer_name' => false,
    'allow_self_signed' => true,
    ],
    );
  • 02-05-2021, 00:03:11
    #4
    Dediğin yeri sildim.
    mail->Host = 'mail.siteadi.web.tr' bu kısım doğru hata vermiyor gönderildi diyor ama bir türlü mail düşmüyor farklı maillerde denedim olmadı.
    gmail ile denedim onlada mail gelmiyor
  • 02-05-2021, 08:41:19
    #5
    Gmail ilede gelmiyorsa sorun senin mail serverda değil kütüphane veya kütüphaneyi kullanımındadır farklı bir kütüphane kullanmayı dene istersen
    Daha öncesinde basarılı çıktı veren header ı // ile kapatıp hata görüyomusun birbak hata varsa bile başarılı yönlendirmesi yapmışsın hata görürsen onu yaz bir bakalım neden kaynaklanıyor
  • 02-05-2021, 12:40:25
    #6
    Message could not be sent. Mailer Error: SMTP Hatası: SMTP sunucusuna bağlanılamadı.
    hatası veriyor.
  • 02-05-2021, 13:00:00
    #7
    Smtpdebug ı 2 olarak ayarla
    Host olarak smtp.gmail.com
    Kendi gmail in ve şifren ile dene hangi hatayı alacaksın
  • 02-05-2021, 15:00:18
    #8
    gmail yaptım
    try {
    //Server settings
    $mail->SMTPDebug = 2; // SMTP hata ayıklama // 0 = mesaj göstermez (testler bittikten sonra kullanılmalıdır) // 1 = sadece mesaj gösterir // 2 = hata ve mesaj gösterir
    $mail->isSMTP();
    $mail->SMTPAuth = true; // SMTP doğrulamayı etkinleştirir
    $mail->Username = 'antucb@gmail.com'; // SMTP kullanıcı adı (gönderici adresi)
    $mail->Password = 'ucb1501012'; // SMTP şifre
    $mail->Host = 'smtp.gmail.com'; // Mail sunucusunun adresi
    $mail->Port = 587; // Normal bağlantı için 587, güvenli bağlantı için 465 yazın
    $mail->SMTPSecure = 'tls'; // Enable TLS encryption, '' , 'ssl' , 'tls'

    $mail->SetLanguage('tr', 'PHPMailer/language/');
    $mail->CharSet = 'UTF-8';

    ama hata aynı çıkyor yine
    2021-05-02 11:32:16 SERVER -> CLIENT:
    2021-05-02 11:32:16 CLIENT -> SERVER: EHLO webisleri.web.tr
    2021-05-02 11:32:16 SERVER -> CLIENT:
    2021-05-02 11:32:16 SMTP ERROR: EHLO command failed:
    2021-05-02 11:32:16 CLIENT -> SERVER: HELO webisleri.web.tr
    2021-05-02 11:32:16 SERVER -> CLIENT:
    2021-05-02 11:32:16 SMTP ERROR: HELO command failed:
    2021-05-02 11:32:16 CLIENT -> SERVER: STARTTLS
    2021-05-02 11:32:16 SERVER -> CLIENT:
    2021-05-02 11:32:16 SMTP ERROR: STARTTLS command failed:
    SMTP Hatası: SMTP sunucusuna bağlanılamadı.
    2021-05-02 11:32:16 CLIENT -> SERVER: QUIT
    2021-05-02 11:32:16 SERVER -> CLIENT:
    2021-05-02 11:32:16 SMTP ERROR: QUIT command failed:
    SMTP Hatası: SMTP sunucusuna bağlanılamadı.
    Message could not be sent. Mailer Error: SMTP Hatası: SMTP sunucusuna bağlanılamadı.