ASP’de JMail İle E-posta Gönderimi
İnternet sayfaları üzerinde yer alan ve ziyaretçilerin mesajlarını, görüşlerini site yöneticisine iletme işlevi gören ya da sanal ortamda satın alınabilecek bir ürünün siparişi için kullanılabilen formlar, tüm tasarımcı ve programcılar tarafından sıkça kullanılmaktadır. ASP programlama dilinde ise, bu tür formlara girilen metin ya da diğer değerleri JMail, CDONTS, ASPEmail gibi çeşitli bileşenler sayesinde bir e-posta adresine iletebilmek mümkündür. Dimac firması tarafından üretilen JMail, kullanım kolaylığı dolayısıyla, günümüzde bu işlem için sıkça tercih edilen bileşenler arasına girmeyi başarabilmiştir.
İletişim Formu Sayfası
Ad, soyad, e-posta adresi ve mesaj hanelerinden oluşan bir iletişim formu örneği üzerinden yola çıkarak bir sayfa hazırlayalım.
<html> <head> <meta http-equiv="Content-Language" content="tr"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> <title>İletişim formu örneği</title> </head> <body> <form method="POST" action="gonder.asp"> <p>Adınız-Soyadınız:<br> <input type="text" name="Adi_Soyadi" size="20"></p> <p>E-posta Adresiniz:<br> <input type="text" name="Eposta_Adresi" size="20"></p> <p>Mesajınız:<br> <textarea rows="2" name="Mesaji" cols="20"></textarea></p> <p><input type="submit" value="Gönder"><input type="reset" value="Sıfırla"></p> </form> </body> </html>
Yukarıdaki kodlar ile oluşturulan form uygulamasının görüntüsü şöyle olacaktır:
Bu örnek kodlar aracılığıyla form hanelerini ihtiyaçlarınıza göre düzenleyebilirsiniz. Sayfadaki form üzerinde yer alan "Gönder" tuşuna basıldığında "gonder.asp" dosyası çalıştırılacaktır. Şimdi, gonder.asp dosyasının içeriğine göz atalım.
JMail Bileşeninin Çalıştırılması
<% For Each alan in Request.Form ileti=ileti & alan & ": " & Request.Form(alan) & "<br>" Next Set JMail = Server.CreateObject("JMail.SMTPMail") 'E-posta sunucunuzun adresi JMail.ServerAddress = "mail.sitenizinadresi.com" JMail.ContentType = "text/html" JMail.Charset = "ISO-8859-9" JMail.Sender = Request.Form("Eposta_Adresi") JMail.Sendername = Request.Form("Adi_Soyadi") 'E-posta adresinize gelecek olan iletinin konusu. Bu kısmı özelleştirebilirsiniz. JMail.Subject = "Yeni bir form var" 'Formun hangi e-posta adresine gideceği JMail.AddRecipient "eposta@sitenizinadresi.com" JMail.AddRecipientBCC "eposta2@sitenizinadresi.com" JMail.HTMLBody = ileti JMail.Execute Response.Write("<script>alert('Form başarıyla gönderilmiştir.');location.href='index.asp';</script>") %>
JMail ile HTML biçiminde e-posta göndermek mümkündür. Yazı tipini ve boyutunu özelleştirebilme, görsel ekleme gibi işlemler yapılabilmekte ve HTML kodları kullanılabilmektedir.
Sunucunuzda JMail bileşeni yüklü değilse, form gönderme işlemi başarısız olacak ve uygulama hata verecektir. Bu kodları kullanmadan önce hizmet satın aldığınız firmaya, sunucuda JMail bileşeninin yüklü olup olmadığını sorunuz. Buradan JMail'in ücretsiz sürümünü indirebilir ve sunucunuza yükleyebilirsiniz. Ayrıca, alt bilgi çubuğunda yer alan İndir bağlantısı aracılığıyla da örnek uygulama dosyalarını indirebilirsiniz.
kodların tamamı görünmüyor çerçevenin devamı çıkmıyor
Şu an sorun düzeltildi. Teşekkürler...
İsa bey Hostum windows ama sayfalarım html verdiğiniz gonder.asp kodlarını kendi formuma uyguladım çalışıyor dediginiz gibi CodePage ve LCID kodlarını gönder.asp nin ve ik.html nin başına ekledim ama sonuç alamadım. Hala türkçe karakterler bozuk. Başka bir yöntem denenebilirmi acaba. İlginize teşekkürler.
Gürkan Bey,
Türkçe karakter sorununu, ASP dosyalarınızın en üstüne CodePage ve LCID kodlarını ekleyerek çözebilirsiniz.
sistem çalıştı fakat türkçe karakter sorunu var nasıl çözebiliriz.
Yaptığınız sistem süper çalışıyor. Ama başka bir mail adresine nasıl mail gönderecğim. Yani fatih.kiziltoprak@gmail.com adresine nasıl mail göndereceğim.
Koddaki bu alana "JMail.AddRecipient" mail adresini yazdım ama olmadı. Yardımlarınız bekliyorum.
Çok teşekkür ederim. Ne zamandır arıyordum.
deneme olarak localde deneyebilirmiyiz yerelağdan 127 0 0 0 deyip
Kodlar çok düzenli. Direkt ayarları yapınca sorunsuz çalıştırdım. Ellerinize sağlık diyorum... Bir de diğer bileşenler için olanları da yaparsanız çok sevinirim. İyi günler...
Teşekkür ederim. Çok işime yaradı bu kodlar. Ne zamandır bir firma için yaptığım sitede iletişim formu istiyorlardı. Ücretsizler kendi reklamlarını koyuyorlardı. Şimdi daha iyi olacak.