Merhaba arkadaşlar, diyelim siz programınızda mail gönderme işlemi yapmak istiyorsunuz ve birde bu maile bilgisayarınızda ki herhangi bir dosyayı da ek olarak eklemeniz gerekmektedir. Bunun için aşağıdaki kod parçacığını kullanabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
SmtpClient SmtpServer = new SmtpClient("smtp.live.com"); var mail = new MailMessage(); mail.From = new MailAddress("FromMailAddress"); mail.To.Add("SendMailAddress"); mail.Subject = "MailSubject"; mail.IsBodyHtml = true; string htmlBody; htmlBody = "MailBody"; mail.Body = htmlBody; Attachment attachment; attachment = new Attachment(@"MailAttachmentPath"); mail.Attachments.Add(attachment); SmtpServer.Port = 587; SmtpServer.UseDefaultCredentials = false; SmtpServer.Credentials = new System.Net.NetworkCredential("FromMailAddress","FromMailPassword"); SmtpServer.EnableSsl = true; SmtpServer.Timeout = int.MaxValue; SmtpServer.Send(mail); |
Yukarıdaki kod kısmında aşağıda yer alan kısımlar şu şekildedir :
FromMailAddress : Gönderen mail adresi.
SendMailAddress : Gönderilen mail adresi . (İsteğe göre arttırılabilir.)
MailSubject : Mail başlığı.
MailBody : Mail içeriği.
MailAttachmentPath : Ek olarak eklenecek dosyanın adresi. (ÖR: D:\Test.txt)
FromMailPassword : Mail gönderen e-mail adresinin şifresi.
Bu alanları doğru ve eksiksiz bir şekilde girdiğiniz zaman sorunsuz bir şekilde ekiniz ile mail gönderme işlemini yapıyor olacaksınız.
Hocam güzel olmuş teşekkürler ama ben gönderenin e posta ve şifresini istemeden metin belgesini göndermesini istiyorum nasıl olacak
Merhabalar, bunun için herhangi bir yöntem yok zaten olsa da bu güvenlik açığı olacaktır. Burada mail gönderenin bir şekilde hesabına giriş yapılması gerekmektedir. Ya da code tarafında sen standart bir mail bilgisi tanımlarsın ve tüm gönderilenler o mail adresi üzerinden gider.
Mesela ben masaüstüne metin belgesi oluşturdum yazdığınız bilgileri tamamiyle kendi hesaplarına göre doldurdum (iki olay için farklı e postalar) butona click olayı ile kullanıcı haberi olmadan metin belgesini yollarmı
kodlama kurgusunu uygun şekilde yaparsanız olur.
Selamın Aleyküm hocam bir sorum olacaktı size ben sorunsuz bir şekil de dosya yolunu yazmama rağmen dosya yoluna erişilemedi diye hata alıyorum ve maalesef dosya gönderemiyorum yardımcı olursanız severim. Teşekkür ederim.
Merhabalar, Burada eğer dosya yolunu sorunsuz bir şekilde vermenize rağmen dosyayı bulamıyorsa dosya ya da dosyanın bulunduğu konumdaki klasörlerden birinin yetkisinden dolayı sistem tarafından o konuma ya da dosyaya erişim yapamamaktadır.
Ben e-mail alamadım sorun ne olabilir acaba?
Mail gönderme işlemini yaptığınız mail adresinin sağlayıcısı tarafındaki ayarlarda farklılık olabilir. Port numarası vs gibi.
merhabalar . birden çok dosya göndermek istiyorum nasıl yapabilirim
dosya.Multiselect = true; burada 5 tane seçiyorum ama sadece ilk seçtiğim gidiyor
fileupload öğesinin içindeki dosyalarda gezip foreach ile her birini ayrı ayrı alarak attach etmeniz gerekmektedir.
Merhaba
Ben datagriddeki verileri deneme amacıyla hotmail veya gmail üzerinden istediğim adrese yollayabiliyorum ancak ben bunu şirket mail hesabıyla yapmak istiyorum
uzak ad çözülemedi smtp.domain.com hatası alıyorum
outlook hesap ayarlarına baktığımda hesap türü pop3 yazıyor
giden posta sunucusu(smtp):mail.domain.com yazıyor
Bende kod içerisindeki smtp.domain.com alanını mail.domain.com olarak değiştirdiğimde
System.Security.Authentication.AuthenticationException : Doğrulama yordamına göre uzak sertifika geçersiz hatası alıyorum.
Bu konu hakkında yardımcı olurmusunuz.
Teşekkürler.
Merhabalar, burada sizin mail hizmeti aldığınız firma üzerinden smtp ayar bilgilerini alıp destek almanız gerekmektedir. Burada port vs de önemlidir.
Merhaba Mail ve dosyayı sıkıntısız gönderiyor teşekkürler fakat dosya seçmediğim zaman hata veriyor. dosya seçmeden mail nasıl gönderebilirim dosya seçtiğinde de göndersin seçmediğinde?
Eğer attachment yoksa bir if kontrolü ile aşağıdaki kısmı dahil etmememniz gerekmektedir.
Attachment attachment;
attachment = new Attachment(@”MailAttachmentPath”);
mail.Attachments.Add(attachment);
send hatası alıyorum