PayPal'a üye olun ve kredi kartı ödemelerini kabul etmeye anında başlayın.
 

Perl ile Mail göndermek

Perl-Cgi Perl ile Mail göndermek Programlama Dilleri hakkında bilgi paylaş; Perl ile web üzerinden mail gönderme : Perl ile linux server'larda (genelde CGI/Perl destekleyen server'lar linux iş...
Cevapla
 
Seçenekler
  #1  
Arama 24-01-2008, 01:24
Banlı
Üyelik Tarihi: 18/09/07
Mesajlar: 1.551
 
     WS-Ticareti: (1)
Blog Yazıları: 1
Teşekkürleri: 0
20 Msg. 27 Tşkr.
Rep Gücü: 0 B737 rep gücü epey yüksek

Perl ile Mail göndermek

Perl ile web üzerinden mail gönderme :

Perl ile linux server'larda (genelde CGI/Perl destekleyen server'lar linux işletim sistemi kullanır) sendmail programı kullanılarak direk web üzerinden, herhangi ek program kullanmadan ziyarecti tarafından mail gönderilmesini ya da programın kendi kendinin bir şart oluştuğunda size ya da programın gidişatına bağlı olarak başka bir kimseye mail gönderilmesini sağlayabilirsiniz.

Sendmail :

Sendmail programı Linux server'larda web üzerinden mail gönderilebilmesine olanak veren bir programdır. Bu program aracılığıyla yazdığımız CGI programları ile web üzerinden mail gönderebilmemiz için sendmail'in linux server'ına göre tam yolunu bilmemiz gereklidir. Bu yol genellikle şu şekillerdedir :

/usr/sbin/sendmail
/usr/bin/sendmail

Eğer server'daki sendmail yolunu bilmiyorsanız sunucu anasayfasında sunucu ile ilgili sıkca sorulan sorular bölümünde (FAQ) bulabilirsiniz ya da server adminlerine yazıp öğrenebilirsiniz. Windows altında sendmail programı bulunmadığı için az sonra yapacağımız yöntemle windows altında mail gönderemezsiniz.*


Mail göndermek için önce mail programını open (MAIL, "|/usr/sbin/sendmail"); şeklinde mail programını açarsınız, daha sonra aynen mail gönderiyormuş gibi şu bölümlere gerekli yazıları ya da değişkenleri yazarsınız:

print MAIL "From: kimden\@mail.com";

Bu bölüme mailin kimden gönderildiğini yazmanız gerekiyor.

print MAIL "To\:kime\@mail.com\n";

Buraya mailin hangi adrese gitmesini istiyorsanız onu yazmalısınız.

print MAIL "Subject\: Mesajın konusu\n\n";

Bu bölüme de mailin "Subject/Konu" bölümünde yazmasını istediğiniz şeyi girmelisiniz.

print MAIL "Bu mail web üzerinden otomatik olarak gönderilmiştir vs. vs. vs...\n\n";

Bu bölüme mail içeriğini yazmalısınız.

close (MAIL);

Son olarak da mail programını aynen dosya işlemleri gibi kapatıyoruz.


Dikkat etmemiz gereken en önemli nokta sendmail yolu. Eğer bu yol yanlış ya da eksik yazılırsa mail gitmez. Mail gönderirken değişkenleri kullanabilirsiniz ama eğer bir tekil değişkene e-mail atamanız gerekiyorsa "@" işaretinin önüne ters slash (\) koymanız gerekir. Aksi taktirde mail programı değişkeni yanlış algılar ve mail istenildiği şekilde gönderilemez.

Buraya kadar anlamamış olabilirsiniz, bir örnek yaparsak ne kadar kolay olduğunu anlayacaksınız. Örneğimizde web sitemiz üzerinden bize mail gönderilmesini olanak sağlayan bir form-mail programı yapalım. Ziyaretci kendi mail adresini ve mesaj konusunu girsin, mesajını girsin ve formu göndersin, gönderilen bilgiler de bizim mail adresimize ulaştırılsın. Tabii bizim mail adresini de program içerisinde bir tekil değişken olarak tanımlamamız gerekiyor :



#!/usr/bin/perl# mail.cgiprint "Content-type:text/html\n\n";$adresim = "isminiz\@mailiniz.com"; $sendmail = "/usr/sbin/sendmail"; use CGI qw(:standard); $query = new CGI;$gonderen = $query -> param('gonderen');$konu = $query -> param('konu');$mesaj = $query -> param('mesaj');$istem = $query -> param('istem');if ($istem eq "gonder") { if ($gonderen eq "" or $konu eq "" or $mesaj eq "") { print "Mail adresiniz, mail konusu ya da mesaj bölümü boş bırakılmış. Bu bölümleri doldurmanız zorunludur. Lütfen geri dönüp tekrar deneyin..."; exit; } open (MAIL, "|$sendmail"); print MAIL "From\: $gonderen\n"; print MAIL "To\:$adresim\n"; print MAIL "Subject\: $konu\n\n"; print MAIL "Siteniz iletişim sayfasından gönderildi:\n\n"; print MAIL "$mesaj\n\n"; print MAIL "\n"; close (MAIL);print "Mesajınız başarıyla gönderildi, en kısa zamanda cevap verilecek. Teşekkür ederim...";exit;}print "<form action=mail.cgi method=post>";print "<input type=hidden name=istem value=gonder>";print "<b>Bize ulaşmak için aşağıdaki formu doldurun :</b><br><br>";print "<table width=500 cellpadding=0 cellspacing=0 border=0>";print "<tr>";print "<td width=50\%>";print "Mail adresiniz : ";print "</td>";print "<td width=50\%>";print "<input type=text name=gonderen>";print "</td>";print "</tr>";print "<tr>";print "<td>";print "Konu :";print "</td>";print "<td>";print "<input type=text name=konu>";print "</td>";print "</tr>";print "<tr>";print "<td>";print "Mesajınız :";print "</td>";print "<td>";print "<textarea name=mesaj></textarea>";print "</td>";print "</tr>";print "<tr>";print "<td>\ \;</td>";print "<td>";print "<input type=submit value=Gönder!>";print "</td>";print "</tr>";print "</table>";print "</form>";



Programın içinde geçen "istem" değişkeni program akışını ayarlamak için atanmıştır. Eğer bu değişkenin içi boşsa en sondaki mail formu ekrana yazdırılır, yok eğer içeriği "gonder" ise yani form doldurulup gönderilmişse $gonderen, $konu ve $mesaj değişkenleri sorgulanır, içerikleri boşsa hata verilip program sonlandırılır (exit değilse mail gönderilir ve ekrana karşılama mesajı bastırılır. Bu programı kişisel server'ınızda denerseniz sadece karşılama sayfalarını ve programın içinde hata olup olmadığını görebilirsiniz ancak mail gönderemezsiniz.
Alıntı ile Cevapla
Cevapla


Seçenekler


Benzer Konular
Konu Konu Açanlar Forum Cevaplar Güncel Mesajlar
Gmail ile Exe Dosyalarını Göndermek özlem34 Google Servisleri 1 17-08-2008 07:14
Component Kullanarak E-mail ve Dosya Göndermek B737 Visual Basic & Action script 0 25-01-2008 07:09
Delphi İle Email Göndermek Celebrian Delphi 0 24-12-2007 02:18
AspEmail İle Mail Göndermek egitimbilgisi Asp kodları 0 27-11-2007 07:01
eMAİL Göndermek c#.net rhythm C, c++, c# 0 27-10-2007 03:01

Siteye link vermek için alttaki kodu sitenize ekleyin
Ya da kodu Ctrl+C ile kopyalayın
Örnek görünüm: Webmaster Sitesi

Kadınlar blogu ~ Apple iPhone, iPod Touch ( iTouch ) Forum iPhone