bytokca adlı üyeden alıntı

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);

function temizlikYap( $str ) {
    if (! empty($str)) {
        $str = trim( $str );
        $str = strip_tags( $str );
        $str = htmlspecialchars( stripslashes( $str ));
        $str = htmlentities( $str );
        return $str;
    }
}

if ((isset($_POST["RegisterForm"])) && ($_POST["RegisterForm"] == "FormInformation")) {  //post edilen RegisterForm FormInformation a eşitse işlemleri başlat.

$checkbox      = filter_input(INPUT_POST, 'checkbox', FILTER_SANITIZE_NUMBER_INT);
$adiniz           = temizlikYap($_POST['yourname']);
$telefonunuz = temizlikYap($_POST['yourphone']);

// Veritabanına kaydedilecekse --> INSERT INTO table

if(isset($checkbox)){

// Detaylı bilgi ve PHPMailer güncel sınıfı ->    https://github.com/PHPMailer/PHPMailer    

try {
    //Server settings
    $mail->SMTPDebug = SMTP::DEBUG_SERVER;                      //Enable verbose debug output
    $mail->isSMTP();                                            //Send using SMTP
    $mail->Host       = 'smtp.example.com';                     //Set the SMTP server to send through
    $mail->SMTPAuth   = true;                                   //Enable SMTP authentication
    $mail->Username   = 'user@example.com';                     //SMTP username
    $mail->Password   = 'secret';                               //SMTP password
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;            //Enable implicit TLS encryption
    $mail->Port       = 465;                                    //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`

    //Recipients
    $mail->setFrom('from@example.com', 'Mailer');
    $mail->addAddress('joe@example.net', 'Joe 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');

    //Attachments
    $mail->addAttachment('/var/tmp/file.tar.gz');         //Add attachments
    $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    //Optional name

    //Content
    $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';

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


}


}

 

Kolama yapınızı bu şekilde kendinize göre ayarlayın. Yinede sorun yaşıyorsanız, PHPMailer sınıfını ve dosyalarını silin. 

Sonra https://github.com/PHPMailer/PHPMailer bu linke girin. PHPMailer sınıfını tekrar indirin. Sayfada aşağıya doğru indiğinizde PHPMailer sınıfının nasıl kullanıldığını ve bir demo kodlarını göreceksiniz. Kendi projenize göre editlersiniz.

 

 


Üstadım çözüme ulaşana kadar verdiğiniz destek için çok teşekkür ediyorum...
Elinize emeğinize sağlık, şu anda çalışır hale geldi...


&


Ek olarak şunları söylemeliyim & söyleyebilirim & sormalıyım;


* PHPmailler'in birkaç gün önce indirdiğim en son versiyonu kullanıyordum, versiyon farkı yok diyebiliriz.


* Şu 3 dosyayı en başından beri include etmiş durumdaydım;
require "PHPMailer_masterl/src/Exception.php";
require "PHPMailer_masterl/src/PHPMailer.php";
require "PHPMailer_masterl/src/SMTP.php";


Bu 3 dosyayı include etmek zorunlu sanırım...!?




* Şu 3 satırı en üste almak sanırım yaşadığım problemin çözümü oldu;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

Bu 3 satırı yazmak zorunlu mu sizce?
Formsuz ve şartsız test dosyamda sadece ilk satır vardı ve gönderim yapıyordu...!?
2. ve 3.satırın varlık sebebini anlayamadım...

Ve neden alt satırlarda iken çalışmıyordu hala benim için bir muamma olmaya devam ediyor... !?



Bu 3 satırım altındaki dosya son sürümde yok o yüzden include edemedim;
require 'vendor/autoload.php';
Yokken de çalışıyor, neden var ve fonksiyonu nedir bu da muamma benim açımdan... !?



Alt satırlarla ilgili merak ettiğim birkaç husus olsa da sizi yormamak için gündeme getirmeyeceğim...
Fakat şunu pas geçemem;
Ggithub.com'daki örnekte şu satır var, doğrudur:
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;            //Enable implicit TLS encryption

Benim test örneğimdeki kodlar arasında ise onun yerine şu satır var;
$mail->SMTPSecure = "tls";

Hangisi daha doğru ve ideal değerlendiremiyorum...!?

Bahsettiğim test örneğini şu detaylı makaleden edinmiştim;
https://muhammedyaman.com/phpmailer-kullanimi-php-smtp-mail-gonderme/

ARADAKİ FARKLARI DA TAM KIYASLAYAMIYORUM KONUYA TAM HAKİ OLMADIĞIM İÇİN...



Son bir soru ile bitireyim üstadım;
Githubdan master dosyasını defalarca indirmeme rağmen zip içinden sadece src, ve language klasörleri çıkıyor.
https://github.com/PHPMailer/PHPMailer adresinde gözüken diğer klasörler çıkmıyor!
Bunun da nedenini çözemedim...!?

Kök dizindeki dosyaların ne olduğunu, özellikle de get_oauth_token.php dosyasının ne olduğunu sormuyorum artık...




Hem üstteki faydalı yanıtları verirken ve hem de bu uzun cevabımı okurken yeterince vaktinizi aldım.
Üstte değinmi olduğum noktalara ışık tutmak için vaktiniz kalmamış olabilir...
Hiç sorun değil...
Saygıyla karşılarım...

SON GÜNLERDEKİ TÜM KATKILARINIZ İÇİN TOPLUCA TEŞEKKÜR EDİYORUM...
ALLAH RAZI OLSUN...