• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Run-time error hatası : '-2147220960 (80040220)':

Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Merhaba arkadaşlar. Run-time error hatası : '-2147220960 (80040220)': hakkında deneyimi olan, nasıl çözdüğünü paylaşırsa çok memnun olurum.
 
Bu uyarı mesajını nasıl bir durumda aldığınız bahsederseniz
ilave olarak nasıl bir kod kullandığınızı da eklerseniz
yardımcı olabilirim.
Genel olarak bu hata kod mail gönderme sırasında oluşan problemden kaynaklanır.
 
Merhaba sayın turk-x. Dediğiniz gibi bu hata mail gönderirken ortaya çıkıyor. Şu şekilde ; işyerinde internete .....net.tr üzerinden bağlanıyoruz. Aşağıda yazdığım kodun bulunduğu excel dosyasını mükemmel bir şekilde ve ekstra bir SEND tuşuna basmadan gönderebiliyorum. Evden ise gönderemiyorum, SEND tuşunda takılıyor.

Sub CDO_Mail()
Dim iMsg As Object
Dim iConf As Object
Dim strbody As String
' Dim Flds As Variant

Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")

' iConf.Load -1 ' CDO Source Defaults
' Set Flds = iConf.Fields
' With Flds
' .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
' .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") _
' = "Fill in your SMTP server here"
' .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
' .Update
' End With

strbody = "Hi there" & vbNewLine & vbNewLine & _
"This is line 1" & vbNewLine & _
"This is line 2" & vbNewLine & _
"This is line 3" & vbNewLine & _
"This is line 4"

With iMsg
Set .Configuration = iConf
.To = "serdar.okan@yahoo.com"
.CC = ""
.BCC = ""
.From = """Serdar"" <serdar.okan@hotmail.com>"
.Subject = "Important message"
.TextBody = strbody
.Send
End With
End Sub
 
Sayın SerdarOkan;
Hata mesajı almanızın nedeni kodlamanızda STMP sunucusu kullanmamış olmanızdır.
İşyerinide çalışıp evinizde gönderemiyorum yazmışsınız ama işyeri bilgisayarınızda hata mesajı almadığınız için gitmiş gibi görünüyor. Stmp sunucusu tanımlasanızda telekomun 25. portu mail göndermeye kapatması nedeniyle bu kodlama ile zaten gönderemiyecektiniz:)


Gmail hesabınız varsa gmail hesabınız üzerinden aşağıdaki kodlama ile mail gönderebilirsiniz.
Yada Aynı Kodu Kendinize ait bir domain varsa onun üzerinden de gönderebilirsiniz. Sadece Kırmızı Olan yerleri değiştirseniz yeterli olur.



Kod:
Sub Mail()

Dim iMsg, iConf, Flds
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusing") = 2
Flds.Item(schema & "smtpserver") = "smtp.gmail.com"
Flds.Item(schema & "smtpserverport") = 465
Flds.Item(schema & "smtpauthenticate") = 1
Flds.Item(schema & "sendusername") = "[COLOR="Red"]OmerHazir@gmail.com[/COLOR]"
Flds.Item(schema & "sendpassword") = "[COLOR="red"]MailŞifrem[/COLOR]"
Flds.Item(schema & "smtpusessl") = 1
Flds.Update

With iMsg
.To = "programci-x@hotmail.com" 'Mailin Gideceği Adres
.From = "omer <omerhazir@gmail.com>" 'Gönderen Mail Adresi ve Adı 
.Subject = "E-Posta Konusu"
.HTMLBody = "E Posta İçindeki mesaj" 
.Sender = "Gönderenin adı" 'Bu Kısım olmadan da olur.
.Organization = "Kurum İsmi ,Organizasyon ismi ..gibi" 'Yazılmasada Mail Gider
.ReplyTo = "omerhazir@gmail.com" 'Reply yapılcak adres çok işe yaramasada kullanılmalı
Set .Configuration = iConf
SendEmailGmail = .Send
End With


Set iMsg = Nothing

Set iConf = Nothing

Set Flds = Nothing

End Sub
 
Sayın turk-x çok açıklayıcı bir bilgi oldu. Eve gidince derhal deneyeceğim. Sağlıcakla kalın.
 
selam turk-x hocam bunla ilgili ufak bi dosya ekler misiniz yani hazırladığım tabloyu bi arkadasa mail atmak istiyorum nasıl yapcam
 
Aktif Sayfayı E Posta İle Yollama

Sayın sonsuzkalp ;

Aşağıdaki kodlama ile aktif sayfayı mail atabilirsiniz.
kodlamada açıklama ile belirttiğim yerde değişiklik yaparsanız istediğiniz sayfayı e posta olarak da atabilirsiniz.

KODLARI:
Kod:
Sub Mail()
Dim iMsg, iConf, Flds, GeciciKlasor, DosyaAdi
  
  'Ekranın Hareket Etmesini önleyelim
  Application.ScreenUpdating = False
  Application.EnableEvents = False

 
    
    ActiveSheet.Copy ' Aktif Sayfa
    'Sheets("Sayfa1").Copy 'Sayfa1
    'ActiveWorkbook.Sheets(Array("Sheet1", "Sheet3")).Copy 'Çoklu Sayfa
   
   'Bilgisayarımızdaki Gecici Dosya Klasörü
    GeciciKlasor = Environ$("temp") & "\"
    
   'Dosya Adını Belirliyoruz.
   'Sonuna Tarih formatı koyalım ki aynı isimde dosya bulunma ihtimalinin önüne geçelim
   DosyaAdi = "Dosya_(" & Format(Now, "ddmmyyhmmss") & ")"
    
  'Dosyamızı Kaydediyoruz.
      With ActiveWorkbook
        .SaveAs GeciciKlasor & DosyaAdi & ".xls"
        .Close savechanges:=False
    End With
'Mail Gönderme Kodlarımız
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusing") = 2
Flds.Item(schema & "smtpserver") = "smtp.gmail.com"
Flds.Item(schema & "smtpserverport") = 465
Flds.Item(schema & "smtpauthenticate") = 1
Flds.Item(schema & "sendusername") = "OmerHazir@gmail.com"
Flds.Item(schema & "sendpassword") = "mailsifreniz"
Flds.Item(schema & "smtpusessl") = 1
Flds.Update

With iMsg
.To = "programci-x@hotmail.com" 'Mailin Gideceği Adres
.From = "omer <omerhazir@gmail.com>" 'Gönderen Mail Adresi ve Adı
.Subject = "E-Posta Konusu"
.HTMLBody = "E Posta İçindeki mesaj"
.AddAttachment GeciciKlasor & DosyaAdi & ".xls" 'Eklediğimiz Dosya
.Sender = "Gönderenin adı" 'Bu Kısım olmadan da olur.
.Organization = "Kurum İsmi ,Organizasyon ismi ..gibi" 'Yazılmasada Mail Gider
.ReplyTo = "omerhazir@gmail.com" 'Reply yapılcak adres çok işe yaramasada kullanılmalı
Set .Configuration = iConf
SendEmailGmail = .Send
End With
'Mailimiz Gitti şimdi Gecici Klasördeki Dosyamızı Silelim
Kill GeciciKlasor & DosyaAdi & ".xls"

'Ekranın Hareket Etme Engelini Kaldıralım.
   Application.ScreenUpdating = True
   Application.EnableEvents = True
    
'Tanımladığımız Nesneleri Kapatalım.
Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing
Set GeciciKlasor = Nothing
Set DosyaAdi = Nothing

End Sub
 

Ekli dosyalar

galiba sunucu not availabla hatasını verdi serdar beye veren hatayla karsılastım
 
o zaman mail adresinizi ve şifrenizi kontrol edin
 
Dosyayı tekrar inceledim
hiçbir sorun yok
Kodlamada mail adresi ve şifre yazılan yeri kontrol ediniz ve doğru olduğuna emin olunuz.
 
selamlar turkx hocam süpersin şimdi denedim gitti sorunsuz bu kodlar sadece gmail den mi atıyorum hotmailden gmailime mail atamaz mıyım bi de web sitesinde bu kodları kullanabilirsem nasıl kullanırım bu mail olayı baya yoruyordu beni çok teşekkürler
 
cok teşekkürler turk-x hocam gmail den mail gönderimi yapabiliyorum acaba hotmailden gmaile nasıl göndercem yardımlarınızı bekliyorum
 
Sadece Gmailden Değil Stmp server desteği olan tüm mail sağlayıcılarından mail atabilirsiniz.
yada web sitenizin bulunduğu server üzerinden de gönderebilirsiniz. (Serveri satın aldığınız firma yetkilileri ile irtibaret geçin. )
bu kodlama ile gmail adresinizi kullanarak istediğiniz adrese mail atabilirsiniz.

hotmail izin vermediği için mail gönderilemiyor.
ama farklı mail gönderme yolları ile örneğin cdonst ,jmail,aspemail vs.vs. gibi mail bileşeni ile göndermede stmp servere ihtiyac olmadığı için istediğiniz gibi mail yollarsınız.

web sitenizde kullanmak isterseniz bu kodlama asp destekli sunucularda sorunsuz çalışır
Önceki mesajlarda yazdığım ek dosya olmadan mail yollama kodunu not defterine yazın

sub mail() kodu yerine <% eki
end sub kodu yerine %> eki olarak değiştirin
ve sayfayı mail.asp yapın
dosyayı asp destekli bir servere yükleyin ve sayfayı server üzerinden açın
sayfa server üzerinde her açıldığında size mail gelir.
size önerim aspindir.com daki mail gönderme örneklerini incelemenizdir.
serverim php destekli dersenizde o zaman google php ile mail gönderme örneklerini inceleyin.
 
Son düzenleme:
çok teşekkürler yardımlarınız için iyi çalışmalar hocam
 
Geri
Üst