Php ve Asp Aracılığı ile Mail gönderme


Web sayfasından mail gönderme işlemi teoride en kolay flash işlemi olmasına rağmen çok fazla mail aldığım bir konudur. Bu çalışmada asıl işlemi php veya asp dosyası yapar. Flash`ın tek yaptığı şey swf dosyasından çalışmanın şekline göre loadVars nesnesi, loadVariables, loadVariablesNum , send ,sendAndload gibi komutlarla veri almak veya göndermekten ibarettir. Diğer eklentilerin nedeni görsel efekt sağlamak ve maile hatalı girişleri kodlarla engellemektir.

Alttaki mail gönderme çalışmasının dosyalarını indirdiğinizde 2 klasör ile karşılaşacaksınız.Fla dosyası aynı olan klasörlerden biri php diğeri asp için planlanmıştır.2 sahneden yapılmıştır. İlk sahne yükleme 2.sahne mail işlemi içindir. Mail işleminde tüm alanlar doldurulmazsa veya hatalı email girişi olursa size hata bölümüne götürecektir. Tüm girişi doğru yapmışsanız hemen mail gönderilmiyor.Önce bir önizleme paneli açılıyor ve yazdıklarınızı kontrol etme şansına sahip oluyorsunuz. Kontolünüzü yaptıktan sonra gönder butonuna basarak mesajınızı iletiyorsunuz.

DOSYAYI İNDİR   

 

Çalışmanın en basit anlatımını şöyle yapabiliriz.

Asp dosyasına göz atarsanız 3 tane değişken adı göreceksiniz.strad, stremail, strmesaj . Flash dosyasını açarsanız 3 girdi kutusu görürsünüz.Bu kutuların değişken adı asp dosyasındaki değişken adları ile aynı olmalıdır.İşte flash`ın yaptığı 2 işlemden biri bu.Flash içinden değişkenlere yazılan veriler gönderildiğinde asp dosyasındaki aynı değişken isimleri nedeni ile değerler sorunsuzca işlenir ve asp dosyasındaki kodlar aracılığı ile email gönderilir. Verileri göndermek için flash içine bir buton ekleyip:

on (press) {
loadVariablesNum("mail_gonder.asp",0,"POST");
}

üstteki kodları yazmanız yeterlidir.Özetlersek bir flash dosyası açıp içine 3 tane input metin kutusu(instance name alanına değil de variable alanına asp dosyasındaki değişken ismini yazmalısınız) ve bir tane buton ekleyip butona üstteki komutu yazmanız en basit hali ile bir mail gönderme programını çalıştırır.Bu kadar basittir.Asıl iş doğru asp dosyasını bulmaktır.Webde buna ait çok fazla dosya bulabilirsiniz.

Php çalışması da üsttekinin aynıdır.Sadece değişken adları name,email ve message şeklinde değiştirilmiştir. Bundan sonra isterseniz görsel efekt ve metin kutularını kontrol etmek için kodlar ekleyebilirsiniz.

Yukarıdan indireceğiniz dosyalarda sadece asp ve php dosyasını editlemeniz yeterlidir.Fla dosyasında hiçbir değişikliğe gerek yoktur. Her iki dosyanın da Türkçe desteği mevcuttur

ASP Dosyanız:

<% @Language = "VBScript" CODEPAGE="65001" %>
<%
'##################################################################
Dim strad,stremail,strmesaj
'------------- FORMDAN GELEN BILGILERI ALIYORUZ
strad=trim(Request.Form("strad"))
stremail=trim(Request.Form("stremail"))
strmesaj=trim(Request.Form("strmesaj"))
'------------- BILGILER YUKARIDA SAKLANDI
'##################################################################
'------------- KENDIMIZE AIT BILGILERI YAZIYORUZ
Dim Alici_Adi,Alici_Emaili,Konu,Kayitli_Email_Adresim
'------------- Not: Lütfen sadece çift tirnak içerisindeki bilgileri degistiriniz.
Alici_Adi="Flashdersleri Formu"
Alici_Emaili="lazoid@flashdersleri.com"
Konu="Flashdersleri.com`dan mesaj"
Kayitli_Email_Adresim="lazoid@flashdersleri.com" 'Buradaki email kendi domaininize ait olmak zorundadir.
'##################################################################

 

'##################################################################
'------------- ASAGIDAKI BILGILERI DEGISTIRMEYINIZ --------------
IF trim(Request.Form("strad"))<>"" and trim(Request.Form("stremail"))<>"" and trim(Request.Form("strmesaj"))<>"" THEN
Dim Mail
Set Mail = Server.CreateObject("Persits.MailSender")
Mail.Host = "mailscriptserver" ' Degistirmeyiniz !!!
Response.Write "&strad="& Server.UrlEncode("&+-ğüşçöı+-ĞÜŞÖÇİ")
Mail.MailFrom = Kayitli_Email_Adresim
Mail.From = stremail
Mail.FromName = strad
Mail.AddAddress Alici_Emaili, Alici_Adi
Response.Write "&strmesaj="& Server.UrlEncode("&+-ğüşçöı+-ĞÜŞÖÇİ")
Mail.AddReplyTo stremail, strad
Mail.isHTML = True
Mail.Subject = Konu
Mail.Body = "<font face='verdana' size='2'>" & strmesaj & "</font><br>"
On Error Resume Next
Mail.Send
END IF
'##################################################################
%>

Sadece kırmızı ile yazılmış yerleri değiştirmelisiniz.Diğer alanlara dokunmayın.Koyu mavi ile yazılmış not önemlidir.email adresinizin uzantısı ile kendi domaininize ait olmak zorundadır.

PHP Dosyanız:

<?php

$sendTo = "lazoid@ttnet.net.tr";
$subject = "Flashdersleri`inden mesaj";
$headers = "From: " . $_POST["firstName"] ." ". $_POST["lastname"] . "<" . $_POST["email"] .">\r\n";
$headers .= "Reply-To: " . $_POST["email"] . "\r\n";
$headers .= "Return-path: " . $_POST["email"];
$message = $_POST["message"];
$email = $_POST["email"];
$message = mb_convert_encoding($message ,"iso-8859-9","utf-8");
$name = $_POST["name"];
$name = mb_convert_encoding($name ,"iso-8859-9","utf-8");
$body = " İsim: $name\n Email: $email\n Mesaj:\n $message";
mail($sendTo, $subject, $body, $headers);

?>

Sadece kırmızı alanları değiştirebilirsiniz.

Son bir uyarıda bulunmakta yarar var. Şayet serverınızın asp veya php desteği yoksa bu tür çalışmaları kullanamazsınız.Dosyaların çalışmadığı şeklinde kullanıcılardan gelen maillerin büyük bir kısmı server desteklerinin olmamasından kaynaklandığı gözlenmiştir. Bu nedenle emin değilseniz host firmanızın sayfasından asp veya php desteği olup olmadığını sormalısınız.