• 08-01-2023, 14:19:46
    #1
    Herkese merhaba değerli forum üyeleri Php ile formdan file seçtirerek bunu epostaya attırmak istiyorum ama bir türlü beceremedim. Bilgisi olan ve yardım edebilecek birisi var mıdır aramızda?
  • 08-01-2023, 14:23:37
    #2
    Phpmailer kullanarak ;
    $mail->addAttachment('uploads/image.jpg', 'new.jpg');
    yapabilirsin.

    TMPden geleni göndermek için;
    $file_tmp  = $_FILES['image']['tmp_name'];
    $file_name = $_FILES['image']['name'];
    //...
    $mail->AddAttachment($file_tmp, $file_name);
  • 08-01-2023, 14:24:34
    #3
    PHPMailler kütüphanesini kullanman gerekiyor .

    $mail_from , $mail_fromname , $mail_pw gibi parametreleri tanımladıktan sonra aşağıdaki kod bloğunu kullanarak iletebilirsin.

        if (!empty($file)){
                                $mailBody     = "<!DOCTYPE html>".
                                                 "<html>".
                                                 "<head>".
                                                    "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>".
                                                    "<style>".
                                                        ".tFontO  { font-family:'Open Sans',Calibri,Candara,Arial,sans-serif; }".
                                                        ".tSize12 { font-size:18px; }".
                                                    "</style>".
                                                 "</head>".
                                                 "<body>".
                                                      "<p class='tFontO tSize12'>".$file ."</p>".
                                                "</body>".
                                                "</html>";  
                                                
                                 $phpmail->IsSMTP();  
                                 $phpmail->From     = $mail_from;                     
                                 $phpmail->Sender   = $mail_from;                     
                                 $phpmail->FromName = $mail_fromname;
                                 $phpmail->Host     = $mail_host;
                                 $phpmail->Port     = $mail_port;
                                 $phpmail->CharSet  = "iso-8859-9";
                                 $phpmail->Username = $mail_from;                     
                                 $phpmail->Password = $mail_pw;                     
                                 $phpmail->WordWrap = 50;
                                 $phpmail->IsHTML(true); 
                                 if (!empty($mail_secure)){
                                     $phpmail->SMTPSecure = $mail_secure; 
                                 }
                                 if (!empty($mail_auth)){
                                     if ($mail_auth=="true")  $phpmail->SMTPAuth = true;
                                     if ($mail_auth=="false") $phpmail->SMTPAuth = false;
                                 }
                                 $phpmail->Subject  = $testTanim;
                                 $phpmail->Body     = $mailBody;
                                 $phpmail->AltBody  = $mailBody;
                                 $phpmail->AddAddress($eposta_);
                                 $phpmail->Send();
                                 $phpmail->ClearAddresses();
                                 $phpmail->ClearAttachments();  
    
                          
                        }
  • 08-01-2023, 14:27:10
    #4
    bunun için 2 yöntem vardır öncelikle bir e-posta gönderme kütüphanesi kullanman lazım phpmailler gibi

    yüklenecek dosya önce kendi sunucuna yükleyip sonra indirme yolu vere bilirsin veya direk phpmailler ile direk göndermek istersen bu özlediğini kullan
    1
    $mail->AddAttachment('img/gonderilecek_resim.jpg');
  • 08-01-2023, 17:13:43
    #5
    gus adlı üyeden alıntı: mesajı görüntüle
    PHPMailler kütüphanesini kullanman gerekiyor .

    $mail_from , $mail_fromname , $mail_pw gibi parametreleri tanımladıktan sonra aşağıdaki kod bloğunu kullanarak iletebilirsin.

        if (!empty($file)){
                                $mailBody     = "<!DOCTYPE html>".
                                                 "<html>".
                                                 "<head>".
                                                    "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>".
                                                    "<style>".
                                                        ".tFontO  { font-family:'Open Sans',Calibri,Candara,Arial,sans-serif; }".
                                                        ".tSize12 { font-size:18px; }".
                                                    "</style>".
                                                 "</head>".
                                                 "<body>".
                                                      "<p class='tFontO tSize12'>".$file ."</p>".
                                                "</body>".
                                                "</html>";  
                                                
                                 $phpmail->IsSMTP();  
                                 $phpmail->From     = $mail_from;                    
                                 $phpmail->Sender   = $mail_from;                    
                                 $phpmail->FromName = $mail_fromname;
                                 $phpmail->Host     = $mail_host;
                                 $phpmail->Port     = $mail_port;
                                 $phpmail->CharSet  = "iso-8859-9";
                                 $phpmail->Username = $mail_from;                    
                                 $phpmail->Password = $mail_pw;                    
                                 $phpmail->WordWrap = 50;
                                 $phpmail->IsHTML(true);
                                 if (!empty($mail_secure)){
                                     $phpmail->SMTPSecure = $mail_secure;
                                 }
                                 if (!empty($mail_auth)){
                                     if ($mail_auth=="true")  $phpmail->SMTPAuth = true;
                                     if ($mail_auth=="false") $phpmail->SMTPAuth = false;
                                 }
                                 $phpmail->Subject  = $testTanim;
                                 $phpmail->Body     = $mailBody;
                                 $phpmail->AltBody  = $mailBody;
                                 $phpmail->AddAddress($eposta_);
                                 $phpmail->Send();
                                 $phpmail->ClearAddresses();
                                 $phpmail->ClearAttachments();  
    
                          
                        }


    <?php
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;
    use PHPMailer\PHPMailer\SMTP;
    require 'PHPMailer.php';
    require 'Exception.php';
    require 'SMTP.php';
    $mail = new PHPMailer(true);
    try {
        //SMTP Sunucu Ayarları
        $mail->SMTPDebug = 2; // DEBUG Kapalı: 0, DEBUG Açık: 2
        $mail->isSMTP();
        $mail->Host       = 'ssl://smtp.gmail.com'; // Email sunucu adresi.
        $mail->SMTPAuth   = true; // SMTP kullanici dogrulama kullan
        $mail->Username   = 'info@otocam.com'; // SMTP sunucuda tanimli email adresi
        $mail->Password   = ''; // SMTP email sifresi
        $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // SSL icin `PHPMailer::ENCRYPTION_SMTPS` kullanin. SSL olmadan 587 portundan gönderim icin `PHPMailer::ENCRYPTION_STARTTLS` kullanin
        $mail->Port       = 587; // Eger yukaridaki deger `PHPMailer::ENCRYPTION_SMTPS` ise portu 465 olarak guncelleyin. Yoksa 587 olarak birakin
        $mail->setFrom('info@otocam.com', 'Otocam.com'); // Gonderen bilgileri yukaridaki $mail->Username ile aynı deger olmali
        //Alici Ayarları
        $mail->addAddress('elbeated@gmail.com', 'Otocam.com'); // Alıcı bilgileri
        $flexRadioDefault = Trim(stripslashes($_POST['flexRadioDefault']));
        $marka = Trim(stripslashes($_POST['pxp-company-job-type']));
        $model = Trim(stripslashes($_POST['pxp-company-job-salary']));
        $isim = Trim(stripslashes($_POST['pxp-company-job-isim']));
        $soyisim= Trim(stripslashes($_POST['pxp-company-job-soyisim']));
        $plaka= Trim(stripslashes($_POST['pxp-company-job-is']));
        $tel= Trim(stripslashes($_POST['pxp-company-job-tel']));
    $Body .= "Araç Türü: ";
    $Body .= $flexRadioDefault;
    $Body .= "\n";
    $Body .= "Araç Markası: ";
    $Body .= $marka;
    $Body .= "\n";
    $Body .= "Araç Modeli: ";
    $Body .= $model;
    $Body .= "\n";
    $Body .= "İsim: ";
    $Body .= $isim;
    $Body .= "\n";
    $Body .= "Soyisim: ";
    $Body .= $soyisim;
    $Body .= "\n";
    $Body .= "Araç Plakası: ";
    $Body .= $plaka;
    $Body .= "\n";
    $Body .= "Telefon Numarası: ";
    $Body .= $tel;
    $Body .= "\n";
    // send email
        $mail->isHTML(); // Gönderimi HTML türde olsun istiyorsaniz TRUE ayarlayin. Düz yazı (Plain Text) icin FALSE kullanin
        $mail->Subject = 'Randevu Formu';
        $mail->Body = $Body;
        $mail->send();
        echo 'Tebrikler! Email başarıyla gönderildi!';
    } catch (Exception $e) {
    }

    hocam göndermiyor formu bir hata var sürekli
  • 08-01-2023, 17:15:53
    #6
    Ne hatası alıyorsunuz , error_all yapıp gönderir misiniz