ASP ile mail gönderme

Web tabanlı uygulama geliştirme araçları(PHP, ASP vb...) ile ilgili konuları buraya yazabilirsiniz.
eternity
Üye
Mesajlar: 21
Kayıt: 05 Tem 2004 09:56
Konum: Ankara

ASP ile mail gönderme

Mesaj gönderen eternity »

merhabalar

küçük bir projemiz için başvuranlara otomatik mail gönderecek bir uygulama yapmak istiyorum. nasıl yapabilirim :roll:
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2130
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

SMTP'nin CDONTS Objesi ile Mail Göndermek
CDO(Collaboration Data Objects) SMTP Server'ı kullanan bir mail komponenti. SMTP server ise IIS ile birlikte gelmekte.

ÖRNEK

Kod: Tümünü seç

<%
'-- Mail nesnesi tanımlandı. 

Dim MyObject as "CDONTS.NewMail"
'çalışmazsa bu satırı kapatın.

'-- Mail nesnesi oluşturuldu. 
Set MyObject=CreateObject("CDONTS.NewMail")
MyObject.Subject="Buraya Konu gelecek"
MyObject.From="Kimden"
MyObject.To="Kime"
MyObject.MailFormat=0
'-- importance= 0(düşük derecede önemli), 1(normal derecede önemli), 2(yüksek derecede önemli) 
MyObject.Importance=1
MyObject.BodyFormat=1
MyObject.Body="Buraya Mesaj geleck"
MyObject.Attachfile "c:\logo.jpg", "logo.jpg",1
MyObject.Send
Set MyObject=Nothing
%>
Kullanıcı avatarı
idalan
Üye
Mesajlar: 58
Kayıt: 25 Şub 2004 02:14
Konum: Üsküdar
İletişim:

Mesaj gönderen idalan »

Asp ile mail göndermek için öncelikle server ınızda bir mail Component yüklü olmasılazım mesela en çok kullanılan asp mail

Kod: Tümünü seç

Set Mail = Server.CreateObject("Persits.MailSender")
Mail.Host = "smtp.doruk.net.tr"
Mail.From = "gonderen@xxx.com" (E-posta Gönderen)
Mail.FromName = "Gönderen kişinin adı"
Mail.AddAddress "alan@xxx.com" (E-posta Alıcısı)
Mail.AddCc "alanCc@xxx.com" (E-posta Cc)
Mail.AddBcc "alanBcc@xxx.com" (E-posta Bcc)
Mail.AddAttachment Server.MapPath("dosyalar/dosyam.txt") (E-posta içinde bir dosya göndermek istiyorsanız dosyanın dosya yolunu doğru belirtmeniz gerekiyor)
Mail.Subject = "E-posta Konusu"
Mail.IsHTML = True (Text gönderi için False olarak set edilmeli)
Mail.Body = "Merhaba,<br>Bu benim ilk mailim"

On Error Resume Next
Mail.Send

If Err <> 0 Then
  Response.Write "Bir Hata Oluştu: " & Err.Description
End If 

Kullanıcı avatarı
idalan
Üye
Mesajlar: 58
Kayıt: 25 Şub 2004 02:14
Konum: Üsküdar
İletişim:

Mesaj gönderen idalan »

yaw önce ben yazmıştım ne zamanlama ama sadettin :shock:
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2130
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

idalan yazdı:yaw önce ben yazmıştım
:)
eternity
Üye
Mesajlar: 21
Kayıt: 05 Tem 2004 09:56
Konum: Ankara

Mesaj gönderen eternity »

:) çok teşekkür ederim ama benim bu kodları çalıştırabilmem için önden ne kurmam lazım makineme :?:

bir de sanki başkasından geliyomuş gibi mail gönderilebilirmi böyle :?
selm@n
Kıdemli Üye
Mesajlar: 442
Kayıt: 01 Oca 2004 11:52
Konum: Adapazarı
İletişim:

Mesaj gönderen selm@n »

makinanıza bir şey kurmanıza gerek yok yukarıda arkadaşların verdiği kodlar ile gayet kolay bir şekilde kullabilirsiniz yanlız Web sitenizi host ettiğiniz firmadan hangi mail Componentleri yüklü olduğunu öğrenmelisiniz yukarıda iki Componente göre kodlar verilmiş iyi çalışmalar.
;)
eternity
Üye
Mesajlar: 21
Kayıt: 05 Tem 2004 09:56
Konum: Ankara

Mesaj gönderen eternity »

web server kendimize ait o yüzden sordum
selm@n
Kıdemli Üye
Mesajlar: 442
Kayıt: 01 Oca 2004 11:52
Konum: Adapazarı
İletişim:

Mesaj gönderen selm@n »

o zaman http://www.aspemail.com/index.html adresinden
aspemail.exe Version: 5.0.0.2
indirin ve IIS Component yükleyin iyi çalışmalar
;)
eternity
Üye
Mesajlar: 21
Kayıt: 05 Tem 2004 09:56
Konum: Ankara

Mesaj gönderen eternity »

Connection timed out. hatası veriyor ayrıca bir ayar daha yapılması gerekiyomu bir de gönderici mail hesabını serverda tanımlamam gerekiyormu yoksa her hangi bir adres yazabilirmiyim oraya
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2130
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

benim gönderdiğim kodda iss + smpt gerekli. program ekle kaldırdan bu iki bileşeni yüklediğiniz zaman sorunsuzca gönderebilmeniz lazım.
selm@n
Kıdemli Üye
Mesajlar: 442
Kayıt: 01 Oca 2004 11:52
Konum: Adapazarı
İletişim:

Mesaj gönderen selm@n »

hocam benim geçenlerde devletin bilgi edinme ile ilgili projede basitbir uygulama yapmıştım..işte kodlar.. serverımda mailasp var;

Kod: Tümünü seç

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>TVS :: BİLGİ EDİNME</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-9">
<META http-equiv=Copyright 
content="TVS Web-Programmer!"><LINK 
href="TVS  BİLGİ EDİNME_dosyalar/main.css" type=text/css rel=STYLESHEET>
<STYLE>TD {
	FONT-WEIGHT: bold; FONT-SIZE: 10px; font-face: Tahoma, Arial
}
INPUT {
	FONT-WEIGHT: bold; FONT-SIZE: 10px; font-face: Tahoma, Arial
}
</STYLE>

<META content="Microsoft FrontPage 5.0" name=GENERATOR></HEAD>
<BODY text=#003366 vLink=#003355 aLink=#ff0000 link=#003399 bgColor=#ffffff 
leftMargin=0 topMargin=0 marginheight="0" marginwidth="0">
<SCRIPT>
function checkSubmit() {
	f = document.forms['form1'];
	var uyari = 'Formda bazı hatalar bulundu:\n\n';
	var hatalar = '';
	var i =  f.eposta.value.indexOf("@");
	var c =  f.eposta.value.indexOf(".");
	if (f.adsoy.value == '') hatalar = hatalar + '- Başvuru sahibi adı ve soyadını yazmadınız.\n';
	if (f.adres.value == '') hatalar = hatalar + '- Oturma yeri veya iş adresini yazmadınız.\n';
	if (f.tc_kimlikno.value == '') hatalar = hatalar + '- T.C. kimlik numarasını yazmadınız.\n';
	if (i<0 || i == 0 || c<0 || c == 0 || c == f.eposta.value.length-1) hatalar = hatalar + '- E-posta adresi hatalı\n';
	if (f.belgeler.value == '') hatalar = hatalar + '- İstenen belgeler bölümünü doldurmadınız.\n';	
	if (hatalar != ''){
		hatalar = uyari + hatalar;
		alert (hatalar);
	}
	else {
			f.submit();
		
	}
	}
</SCRIPT>
<BR>
<CENTER><A href="http://www.tuvesas.com.tr/"><IMG height=107 alt=Amblem 
src="TVS  BİLGİ EDİNME_dosyalar/amblem.jpg" width=396 
border=0><BR><BR><BR></A><A href="http://www.bilgiedinme.tuvesas.com.tr/"><IMG 
height=80 alt="BİLGİ EDİNME BÜROSU" src="TVS  BİLGİ EDİNME_dosyalar/baslik.gif" 
width=600 vspace=4 border=0><BR></A><IMG height=3 alt=-------------------- 
src="TVS  BİLGİ EDİNME_dosyalar/line.jpg" width=600 vspace=4><BR><BR>
<TABLE cellSpacing=0 cellPadding=0 width=600 border=0>
  <TBODY>
  <TR>
    <TD vAlign=top align=left><FONT face=tahoma,arial color=#003366 
      size=2><IMG height=18 src="TVS  BİLGİ EDİNME_dosyalar/ok_m.gif" width=18 
      border=0>&nbsp;&nbsp;<B>Başvuru Formları</B><BR><BR>
      <DIV align=center>
      <CENTER>
      <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=2 
      cellPadding=0 width="91%" border=0>
        <FORM name=form1 action=gonder.asp method=post>
        <TBODY>
        <TR>
          <TD align=middle width="100%" colSpan=3><FONT color=maroon><B>BİLGİ 
            EDİNME BAŞVURUSU FORMU<BR>(Gerçek Kişiler İçin)</B></FONT></TD></TR>
        <TR>
          <TD width="48%">&nbsp;</TD>
          <TD width="2%">&nbsp;</TD>
          <TD width="53%">&nbsp;</TD></TR>
        <TR>
          <TD width="48%">Başvuru sahibinin adı ve soyadı</TD>
          <TD width="2%">:</TD>
          <TD width="53%">&nbsp;<INPUT id=adsoy name=adsoy size="20"> </TD></TR>
        <TR>
          <TD width="48%">Oturma yeri veya İş adresi</TD>
          <TD width="2%">:</TD>
          <TD width="53%">&nbsp;<INPUT id=adres name=adres size="20"> </TD></TR>
        <TR>
          <TD width="48%"><B>T.C. Kimlik Numarası</B></SPAN></TD>
          <TD width="2%">:</TD>
          <TD width="53%">&nbsp;<INPUT id=tc_kimlikno name=tc_kimlikno size="20"></TD></TR>
        <TR>
          <TD width="48%">E<B>-posta adresi</B></TD>
          <TD width="2%">:</TD>
          <TD width="53%">&nbsp;<INPUT name=eposta size="20"></TD></TR>
        <TR>
          <TD width="48%"><B>Başvuruya hangi yolla cevap almak 
          istersiniz?</B></TD>
          <TD vAlign=center width="2%">:</TD>
          <TD vAlign=center width="53%">&nbsp;Elektronik <INPUT type=radio 
            CHECKED value=elektronik name=cevap>&nbsp; Yazılı&nbsp; <INPUT 
            type=radio value=yazili name=cevap></TD></TR>
        <TR>
          <TD vAlign=top width="48%">İstenen bilgi ve belgeler</TD>
          <TD vAlign=top width="2%">:</TD>
          <TD vAlign=top width="53%">&nbsp;<TEXTAREA name=belgeler rows=4 cols="20"></TEXTAREA></TD></TR>
        <TR>
          <TD vAlign=top width="103%" colSpan=3>
            <P align=right>4982 sayılı Bilgi Edinme Hakkı Kanunu gereğince 
            istediğim bilgi veya belgeler yukarıda belirtilmiştir.<BR>Gereğini 
            arz ederim.</P></TD></TR>
        <TR>
          <TD vAlign=top width="48%">&nbsp;</TD>
          <TD vAlign=top width="2%">&nbsp;</TD>
          <TD vAlign=top width="53%">&nbsp;</TD></TR>
        <TR>
          <TD vAlign=top width="48%">&nbsp;</TD>
          <TD vAlign=top width="55%" colSpan=2><INPUT id=gonder accessKey=s onclick="Javascript: checkSubmit();" type=button value=Gönder name=gonder></TD></TR></TBODY></TABLE></CENTER></DIV>
      <P align=center><SMALL>Başvurunuzu yazılı şekilde yapmak için gerekli 
      formu <A href="http://www.tuvasas.com.tr/bilgi/gkw.doc">buraya 
      tıklayarak</A> edinebilirsiniz.<BR></SMALL></P></FONT><IMG height=3 
      alt=-------------------- src="TVS  BİLGİ EDİNME_dosyalar/line.jpg" 
      width=600 vspace=6><BR><A 
      href="http://www.tuvasas.com.tr/bilgi/TVSf.htm"><IMG 
      onmouseover=this.filters.alpha.opacity=60 
      style="FILTER: alpha(opacity=100)" 
      onmouseout=this.filters.alpha.opacity=100 height=31 alt=Geri 
      src="TVS  BİLGİ EDİNME_dosyalar/geri.gif" width=32 align=left vspace=4 
      border=0></A> </TD></FORM></TR></TBODY></TABLE>&nbsp; </CENTER></BODY></HTML>
yukarı daki kodları a.htm diye kayıt edelim


Kod: Tümünü seç

<%@ Language=VBScript %> 
<%  
Dim strad,stradres,strtckimlikno,streposta,strcevap,strbelgeler
'------------- FORMDAN GELEN BILGILERI ALIYORUZ
strad=trim(Request.Form("adsoy"))
stradres=trim(Request.Form("adres"))
strtckimlikno=trim(Request.Form("tc_kimlikno"))
streposta=trim(Request.Form("eposta"))
strcevap=trim(Request.Form("cevap"))
strbelgeler=trim(Request.Form("belgeler"))


'------------- BILGILER YUKARIDA SAKLANDI

'------------- KENDIMIZE AIT BILGILERI YAZIYORUZ
Dim Alici_Adi,Alici_Emaili,Konu,Kayitli_Email_Adresim,Eksik_Bilgi,Gonderildi

'------------- Not: Lütfen sadece çift tirnak içerisindeki bilgileri degistiriniz.
Alici_Adi="admin@tuvasas.com.tr"
Alici_Emaili="admin@tuvasas.com.tr"
Konu="Website İletişim Formu"
Kayitli_Email_Adresim="admin@tuvasas.com.tr" 'Buradaki email kendi domaininize ait olmak zorundadir.
Eksik_Bilgi="Bilgileriniz Yetersiz Lütfen Formu Doldurmak icin Geri Dönünüz."
Gonderildi="Formu Doldurduğunuz için tesekkür ederiz."


'------------- ASAGIDAKI BILGILERI DEGISTIRMEYINIZ --------------
IF trim(Request.Form("adsoy"))<>"" THEN
Dim Mail
Set Mail = Server.CreateObject("Persits.MailSender") 
Mail.Host = "smtp.doruk.net.tr" 'Degistirmeyiniz !!!
Mail.MailFrom = Kayitli_Email_Adresim
Mail.From = streposta 
Mail.FromName = strad
Mail.AddAddress Alici_Emaili, Alici_Adi 
Mail.AddReplyTo strad 
Mail.isHTML = True
Mail.Subject = Konu
Mail.Body = "<font face='verdana' size='3'>" & strad & "<br><br> Adres : "& stradres & " <br> TC KimlikNo : "& strtckimlikno & " <br> E-Mail Adresi : "& streposta & " <br> Cevap : "& strcevap & " <br> İstenilen Belgeler : "& strbelgeler & "</font><br>"
On Error Resume Next 
Mail.Send 
If Err <> 0 Then 
Response.Write "Error encountered: " & Err.Description 
End If 
Response.Write("<font face='verdana' size='2' color=red>"&Gonderildi&"</font>")
ELSE
Response.Write("<font face='verdana' size='2' color=red><a href='javascript:history.go(-1)'>"&Eksik_Bilgi&"</font></a>")
END IF
'##################################################################
%>
bunuda gonder.asp diye kayıt edelim hepsi bu kadar....
mail hesabını serverda tanıtman gerekmiyor..
iyi çalışmalar
;)
eternity
Üye
Mesajlar: 21
Kayıt: 05 Tem 2004 09:56
Konum: Ankara

Mesaj gönderen eternity »

çok ilginç bende aynı uygulama için arıyorum :)
selm@n
Kıdemli Üye
Mesajlar: 442
Kayıt: 01 Oca 2004 11:52
Konum: Adapazarı
İletişim:

Mesaj gönderen selm@n »

hocam gonderdiğiniz mail adresi neydi mesela yahoo hotmail gibi birşeyse
olmaması normal eğer normal bir ISS ten veya hostan aldığınız bir mail olabilir ben hiç kendi IIS ime aspmail kurarak denemedim ama şimdi kuracağım ve oradan deniyeceğim iyi çalışmalar...
;)
eternity
Üye
Mesajlar: 21
Kayıt: 05 Tem 2004 09:56
Konum: Ankara

Mesaj gönderen eternity »

geçerli bir mail adresi yazdım ama Connection timed out hatası alıyorum. O yüzden merak ettim gönderen mail adresi web serverda tanımlı olmak zorundamı
Cevapla