Beyaz.Net İpucu

SMTP ile ekli dosya -attachment- gönderme

SMTP için kullandığımız sayfalarda gerekli düzenlemeleri yaptıktan sonra fonksiyon halinde mail gönderme işlemini yapıyoruz. Fonksiyon halinde yapmamız sebebi birden fazla kullandığımız için devamlı yazmamaktır.


Fonksiyonumuz :

function mailgonderme($mesaj,$adres,$isim,$subject,$attachmentsayisi,$attachmentdosyalari,$attachmentsayisihtml,$attachmentdosyalarihtml) {
    include_once("class.phpmailer.php"); //smtp dosyalarını include ediyoruz.
    $mail = new PHPMailer();
    $mail->IsSMTP();                                 
    $mail->SetLanguage("tr","language/");
    $mail->CharSet="utf-8";
    $mail->IsHTML(true);
    $mail->Host     = "localhost";
    $mail->SMTPAuth = false;   
    $mail->Username = "SMTP_kullaniciadi"; 
    $mail->Password = "SMTP_sifre"; 
    $mail->From     = "GidecekAdresMaili";
    $mail->FromName =  strip_tags($isim); // Adınız
    $mail->AddAddress($adres); // mail gideceği adres
    $mail->Subject  =  strip_tags($subject);
    if($attachmentsayisihtml>0) {
            $sablonlaribol=explode('{',$attachmentdosyalarihtml);
               $sablonlaribolsay=count($sablonlaribol);
               for($i=0;$i<$sablonlaribolsay;$i++) {
            $attachmentdosyasi='';
            $attachmentdosyasi=trim(ereg_replace('}','',$sablonlaribol[$i]));
            if($attachmentdosyasi) {
                $dosyatanimla='';
                $attachmentdosyasiuzantisibol=explode('.',$attachmentdosyasi);
                $attachmentdosyasiuzantisi=$attachmentdosyasiuzantisibol[1];
                if($attachmentdosyasiuzantisi=='gif' or $attachmentdosyasiuzantisi=='GIF') {
                    $dosyatanimla="image/gif";
                } else if($attachmentdosyasiuzantisi=='jpe' or $attachmentdosyasiuzantisi=='jpeg' or $attachmentdosyasiuzantisi=='jpg' or $attachmentdosyasiuzantisi=='JPE' or $attachmentdosyasiuzantisi=='JPEG' or $attachmentdosyasiuzantisi=='JPG') {
                    $dosyatanimla="image/jpeg";
                } else if($attachmentdosyasiuzantisi=='png' or $attachmentdosyasiuzantisi=='PNG') {
                    $dosyatanimla="image/png";
                } else if($attachmentdosyasiuzantisi=='tif' or $attachmentdosyasiuzantisi=='tiff' or $attachmentdosyasiuzantisi=='TIF' or $attachmentdosyasiuzantisi=='TIFF') {
                    $dosyatanimla="image/tiff";
                } else if($attachmentdosyasiuzantisi=='html' or $attachmentdosyasiuzantisi=='htm' or $attachmentdosyasiuzantisi=='HTML' or $attachmentdosyasiuzantisi=='HTM') {
                    $dosyatanimla="text/html";
                } else {
                    $dosyatanimla="application/octet-stream";
                }
                $mail->AddEmbeddedImage("icerikattachmentlar/".$attachmentdosyasi, $attachmentdosyasiuzantisibol[0], $attachmentdosyasiuzantisibol[0], "base64", $dosyatanimla);
            }
           
       }
           
    }   
    $mail->Body     =  mesajitemizle($mesaj);
    if($attachmentsayisi>0) {
            $sablonlaribol=explode('{',$attachmentdosyalari);
               $sablonlaribolsay=count($sablonlaribol);
               for($i=0;$i<$sablonlaribolsay;$i++) {
            $attachmentdosyasi='';
            $attachmentdosyasi=trim(ereg_replace('}','',$sablonlaribol[$i]));
            if($attachmentdosyasi) {
                $dosyatanimla='';
                $attachmentdosyasiuzantisibol=explode('.',$attachmentdosyasi);
                $attachmentdosyasiuzantisi=$attachmentdosyasiuzantisibol[1];
                if($attachmentdosyasiuzantisi=='gif' or $attachmentdosyasiuzantisi=='GIF') {
                    $dosyatanimla="image/gif";
                } else if($attachmentdosyasiuzantisi=='jpe' or $attachmentdosyasiuzantisi=='jpeg' or $attachmentdosyasiuzantisi=='jpg' or $attachmentdosyasiuzantisi=='JPE' or $attachmentdosyasiuzantisi=='JPEG' or $attachmentdosyasiuzantisi=='JPG') {
                    $dosyatanimla="image/jpeg";
                } else if($attachmentdosyasiuzantisi=='png' or $attachmentdosyasiuzantisi=='PNG') {
                    $dosyatanimla="image/png";
                } else if($attachmentdosyasiuzantisi=='tif' or $attachmentdosyasiuzantisi=='tiff' or $attachmentdosyasiuzantisi=='TIF' or $attachmentdosyasiuzantisi=='TIFF') {
                    $dosyatanimla="image/tiff";
                } else if($attachmentdosyasiuzantisi=='html' or $attachmentdosyasiuzantisi=='htm' or $attachmentdosyasiuzantisi=='HTML' or $attachmentdosyasiuzantisi=='HTM') {
                    $dosyatanimla="text/html";
                } else {
                    $dosyatanimla="application/octet-stream";
                }
                $mail->AddAttachment("attachment/".$attachmentdosyasi,$attachmentdosyasi,$dosyatanimla);
            }
           
       }
           
    }
    if($mail->Send()) {
        echo "Mail Gönderildi.";
        return "1";
    } else {
        echo "<br>Mail Gönderilemedi.Adres=".$adres."Hata ".$mail->ErrorInfo."<br>";
        return "0";
    }
}

Kullanımı : mailgonderme("$emailicerik","$gidecekemailadresi","$emailkimden_adsoyad","$emailkonusu",
"$attachmentsayısı","$attachmentdosyalari","$attachmenthtmlsayısı","$attachmenthtmldosyalari");



SMTP dosyalarını buradan indirebilirsiniz.

Kategorideki Güncel Makaleler