Cliaweb paylaşımlı sunucularımızda spam güvenliği sebebiyle mail() fonksiyonu kapatılmış idi. Bu açıdan sizlere Phpmailer ile nasıl smtp mail gönderebilirsiniz, nasıl iletişim formu hazırlayabilirsiniz onu anlatacağız.
Phpmailer’ın güncel kütüphane dosyalarına buradan ulaşabilirsiniz. Biz bu yazımızda sizlere kolaylık olması için işimize yarayan dosyaları ayırdık bunu kullanabilirsiniz.
indirdiğimiz rar dosyasını açtığımızda 2 php dosyası görüyoruz. İşimize yarayanlar tam olarak bunlar :
class.phpmailer.php
class.smtp.php
Bu iki dosyayı kullanabilmek için iletisim.php oluşturuyoruz. Hepsi bir dizinde olmalı aşağıdaki gibi.
iletisim.php dosyamızın içeriği 2 kısımdan oluşuyor. Birinci kısım :
Aşağıdaki php yapısında kendinize göre düzenlememiz gereken alanlar şu şekilde :
$mail->FromName = “İletişim formu“; //göndericinin adı
$mail->Host = “mail.siteismi.com“; //smtp nin kullanacağı mail sunucusu
$mail->Username = “mail@siteismi.com“; //mail hesabı kullanıcı adı
$mail->Password = “123456“; //mail hesabına ait şifre
$mail->Port = “587“; //smtp nin kullanacağı giden mail sunucu portu
if(mailgonder(“kimden@mail.com“,”kime@mail.com“,”Ziyaretci Mesaji”,$mesajk))
Önemli bilgi : Eğer yandex veya gmail üzerinden mail gönderecekseniz aşağıdaki ayarları kullanın :
Yandex Smtp Ayarları:
$mail->SMTPSecure = ‘tls’;
$mail->Host = ‘smtp.yandex.com’;
$mail->Port = 587;
Veya
$mail->Host = “smtp.yandex.com.tr”;
$mail->SMTPSecure = ‘ssl’;
$mail->Port = “465”;
Gmail Smtp Ayarları:
$mail->SMTPSecure = ‘ssl’;
$mail->Host = ‘smtp.gmail.com’;
$mail->Port = 465;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <?php /* www.cliaweb.com Web barındırma ve alan adı hizmetleri */ function mailgonder($kimden,$kime,$konu,$mesaj){ require "class.phpmailer.php"; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->From = $kimden; $mail->Sender = $kimden; $mail->FromName = "İletişim formu"; //göndericinin adı $mail->Host = "mail.siteismi.com"; //smtp nin kullanacağı mail sunucusu $mail->SMTPAuth = true; $mail->Username = "mail@siteismi.com"; //mail hesabı kullanıcı adı $mail->Password = "123456"; //mail hesabına ait şifre $mail->Port = "587"; //smtp nin kullanacağı giden mail sunucu portu $mail->CharSet = "utf-8"; $mail->WordWrap = 50; $mail->IsHTML(true); $mail->Subject = $konu; $body = $mesaj; $textBody = strip_tags($mesaj); $mail->Body = $body; $mail->AltBody = $textBody; $mail->AddAddress($kime); //mailin gönderileceği mail adresi //$mail->AddAddress("mail@mail.com"); //maillerin gideceği ek adresler (varsa) return ($mail->Send())?true:false; $mail->ClearAddresses(); $mail->ClearAttachments(); } $hmesaji=""; if(isset($_POST["submit"])){ $ad = (isset($_POST["isim"]))?$_POST["isim"]:""; $eposta = (isset($_POST["eposta"]))?$_POST["eposta"]:""; $telefon = (isset($_POST["telefon"]))?$_POST["telefon"]:""; $mesaj = (isset($_POST["mesaj"]))?$_POST["mesaj"]:""; if($ad == "" || $eposta == "" || $telefon == "" || $mesaj == "") $hmesaji = "<span style=\"border:1px solid #666; background-color:#0099CC; color:#FFF; padding:2px; cursor:pointer;\">Hata! Lutfen gerekli alanlarin dolduruldugundan emin olun!</span>"; else { //iletisim formu hangi değerlerle bize ulaşsın $mesajk = "<b>$ad</b> adiyla mail gonderildi.<hr />"; $mesajk .= "Telefon: $telefon <br />"; $mesajk .= "Eposta Adresi: $eposta <br />"; $mesajk .= "Ziyaretçinin Mesajı: $mesaj <hr />"; $mesajk .= "<span style='font-size:10px;color:#bbbbbb;'>Bu mesaj ". date('H:i:s d.m.Y') ." tarihinde gönderildi.</span>"; //iletisim formu hangi mail adresinden hangi mail adresine gitsin? if(mailgonder("kimden@mail.com","kime@mail.com","Ziyaretci Mesaji",$mesajk)) { $hmesaji = "<span style=\"border:1px solid #666; background-color:#009933; color:#FFF; padding:2px; cursor:pointer;\">Iletisim formunuz basariyla gonderildi.</span>"; } else { $hmesaji = "<span style=\"border:1px solid #666; background-color:#0099CC; color:#FFF; padding:2px; cursor:pointer;\">Mail Hatasi!</span>"; } } } echo "<p>$hmesaji</p>"; ?> |
ikinci kısım html form yapısı:
bu html form kodlarını kendimize göre düzenleyebiliriz. style ve table düzenlemeleri yapabiliriz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<!-- asagidaki html kodlar iletisim formumuzun gorunen arayuzunu olusturuyor. ziyaretci asagidaki formu gorecek --> <form method="post"> <table width="400" border="0" cellspacing="4" cellpadding="4" style="border: 2px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"> <tr> <td bgcolor="#F4F2F2"><b>Ad Soyad : </b></td> <td><input type="text" style="width:280px; border:1px solid #666;" name="isim" /></td> </tr> <tr> <td bgcolor="#F4F2F2"><b>E-Posta : </b></td> <td><input type="text" style="width:280px; border:1px solid #666;" name="eposta" /></td> </tr> <tr> <td bgcolor="#F4F2F2"><b>Telefon : </font></b></td> <td><input type="text" style="width:280px; border:1px solid #666;" name="telefon" /></td> </tr> <tr> <td bgcolor="#F4F2F2"><b>Mesajınız : </b></td> <td><textarea rows="3" style="width:280px; border:1px solid #666;" cols="50" name="mesaj"></textarea></td> </tr> <tr> <td bgcolor="#F4F2F2"> </td> <td><input type="submit" name="submit" value="Formu Gönder" style="border:1px solid #666; background-color:#0099CC; color:#FFF; padding:2px; cursor:pointer;" onclick="kontrol();" /></td> </tr> </table> </form> |
Aşağıdan hazır iletişim formu scriptini indirebilirsiniz. iletisim.php de gerekli alanları düzenlemeniz yeterlidir.
2 Responses to “PhP İle SMTP Mail Gönderme, Phpmailer SMTP Script”
Morinek Reklam Ajansı
Çok teşekkür ederiz paylaşım için tam aradığımız form buydu.
ismail
kesinlikle yandex smtp ayarları çalışmıyor.
3bin defa denedim olmadı