Tweet

PHP | Form mail

PHP ile FORM MAİL

Başlangıç olarak PHP nin bize sunduğu güzelliklerden biri olan form mail olayını inceleyelim. PHP ile e-mail göndermek istediğimizde mail(); komutunu kullanırız. Bu komut bazı parametreler alır kullanımı şöyledir.[...]

CODE:
<? mail("Gideceği adres","Mesaj Başlığı","Mesajın içeriği","Tanımlama Başlıkları(headers)");?>


Bizim dikkat etmemiz gerekenler Mesaj içeriği ve Tanımlama başlıkları olacaktır. Nedeni mi? Ne yazık ki Hotmail. Ülkemizde İnternet kullanıcılarının %70 e yakın bir kısmı Hotmail ücretsiz mail kullanıyor. Hotmail neden sorun? Çünkü Hotmail mailler konusunda çok hassas. Diyelim ki bir site yöneticisisiniz ve üyelerinize önemli bir mail göndermeniz gerekiyor. Bu durumda Form Mail kullanacaksınız demektir. Peki ama gönderdiğiniz mail Hotmail veya Mynet kullanıcılarına junk , bulk mail olarak gidiyorsa? İşte o zaman büyük bir sorunumuz var demektir. Burada devreye Mesaj içeriği ve Tanımlama başlıkları devreye giriyor. Mesaj içeriği Hotmail hoşuna gitmeli, porno içeriği olan ve html taglarıyla dolu bir mail göndermek istiyorsanız hiç uğraşmayın derim. Benim tavsiyem gerekmedikçe html taglarını kullanmayın içeriğinizi text halinde gönderin. Gelelim Tanımlama Başlıklarına (headers) Bir e-mail en önemli bilgileridir. Gönderdiğiniz e-mail gittiği servera tanıtmanızı sağlar. Eğer headerları iyi ayarlayamazsanız mailiniz tanımlanamaz ve junk mail olarak damgalanır. Şimdi Hotmail ve diğer ücretsiz mail sağlayıcılarında junk mail kutusuna düşmeyen bir mail scripti yazlım. Öncelikle bir form sayfası oluşturalım.

Bu sayfayı form.php olarak kaydedin.

CODE:
<html>
<head>
<title>Form Mail</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9"/>
</head>

<body>
<form action="mail.php" method="post" enctype="multipart/form-data" name="Form1">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="16%">Gideceği Adress:</td>
<td width="84%"><input type="text" name="adres" style="width:100%"></td>
</tr>
<tr>
<td>Başlık:</td>
<td><input type="text" name="baslik" style="width:100%"></td>
</tr>
<tr>
<td height="100" valign="top">İçerik:</td>
<td><textarea name="mesaj" style="width:100%;height:100%;" rows="5"></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="S" value="Gönder" style="width:100%">
</td>
</tr>
</table>

</form>
</body>
</html>


Mail formumuz hazır şimdide mail gönderecek fonksiyonumuzu hazırlayalım.
Bu Sayfayı mailci.php olarak kadedin.

CODE:
<? 	
function mailci($adres, $baslik, $mesaj)
{
$headers = "MIME-Version: 1.0n";
//malin MİME versiyonunu belirttik
$headers .= "Content-type: text/plain; charset=iso-8859-9n";
/*mailin içeriğinin nasıl yazıldığı nı belirttik ben
text/plain olarakbelirttim böylece junk maile
düşme tehlikesinide azaltmış oldum eğer
zorunlu olarak mailinizin içeriğinde html kullanmanız
gerekirse siz text/html de kullanabilirsiniz. */
$headers .= "X-Priority: 3n";
/* Mailimizin öncelik seviyesini 3 olarak belirledik.
Bunu 1 olarak belirlediğimde mailin junk a düştüğünü görmüştüm.*/
$headers .= "X-MSMail-Priority: Normaln";
/*MSMail seviyesini Normal olarak belirttik Low olarakda belirtilebilir.
Fakat High olarak belirttiğimde mail yine junk mail e düştü*/
$headers .= "X-Mailer: phpn";
//mail scriptimize bir isim verdik
$fromname="Okan Atabağ";
$fromaddress="okan@thecoders.net";
$headers .= "From: "".$fromname."" <".$fromaddress.">n";
/*son olarak da mail in kimden geldiğini belirttik.
Ben direk yazdım, siz bu verileri forumdan göndererek daha
dinamik bir yapıya sahip olabilirsiniz.*/
return mail($adres, $baslik, $mesaj, $headers);
}
?>


Böylece mail scriptimiz hazır şimdi de mailci fonksiyonumuz kullanacağımız sayfayı yazalım. Bu sayfayı mail.php olarak kadedin.

CODE:
<?
include("mailci.php");
mailci($adres, $baslik, $mesaj);
echo "e-mailiniz gönderilmiştir.";
sleep(3);
header("location:form.php");
?>


Evet mail scriptimiz hazır ve geliştirilmeye açık umarım faydalı olur.


Dia
okanatabag@gmail.com
4 Ocak 2006 16:25

İlgili Olabilecek Makaleler


Yorumlar (2)





akonnew
13 Kasim 2008 15:57
teşekkür ederiz..


alkan79
3 Eylul 2010 17:09
Teşekkürler

Ziyaretçi olarak yorum yazamazsınız. Üye olmak için tıklayın Üye iseniz giriş yapın.



MENÜ » FORUM
Menü » Takip et
RSS Facebook Twitter Friendfeed
Sık Kullanılanlar Google Yahoo Live
Menü » Paylaş
E-Posta ile gönder Twitter Facebook Friendfeed
Buzz Stumbleupon Delicious Digg