Çözüldü Mail gönderme programı

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Jroxy

Kilopat
Katılım
21 Aralık 2018
Mesajlar
370
Çözümler
3
Yer
Sivas
Daha fazla  
Meslek
Öğrenci
C# ile Mail Gönderme programı kodlamaya çalışıyorum fakat takıldığım bir yer var. İçeriğe dosya eklemeden mail gönderimi başarısız oluyor. Birkaç fikir denedim ama çalışmadı.
C#:
    public class SendMail
    {
 
       public void Microsoft(string GondericiAdSoyad,string GondericiMail,string GondericiPass,string AliciMail,string Baslik ,string icerik, string Ek)
        {
            SmtpClient sc = new SmtpClient();
            sc.Port = 587;
            sc.Host = "smtp.outlook.com";
            sc.EnableSsl = true;
            sc.Credentials = new NetworkCredential(GondericiMail, GondericiPass);


            MailMessage email = new MailMessage();
            email.From = new MailAddress(GondericiMail, GondericiAdSoyad);
            email.To.Add(AliciMail);
            email.Subject = Baslik;
            email.IsBodyHtml = true;
            email.Body = icerik;
            if (Ek != null)
            {
                email.Attachments.Add(new Attachment(Ek));
              
            }
                sc.Send(email);
Yeni bir void mi açmalıyım yoksa void'e ekleme mi yapmalıyım anlamadım.

C#:
if (comboBoxSunucu.Text == "Microsoft")
                {
                  
                      SendMail sm = new SendMail();
                      sm.Microsoft(txtGondericiAdSoyad.Text, txtGondericiMail.Text, txtGondericiPass.Text, txtAlici.Text, txtBaslik.Text, txticerik.Text, txtEk.Text);
                      MessageBox.Show("Mail Gönderildi.");

                 
                  
               
                }
 
Son düzenleyen: Moderatör:
Çözüm
Ek stringini null değil de String.Empty ile sorgulamanız gerekmektedir. Oradaki textBox değeri şuan null değil boştur ve her ihtimale karşı ==null kod bloğu oluşturarak oluşabilecek hatayı azamiye indiriniz. Null değer yok demektir, String.Empty ise değerin boş olup uzunluğun sıfır olduğu durumdur.
Kodlama noktasında hiçbir hatanızın olmamasına karşılık mail gönderilemiyor ise yeni yazmış olduğunuz program yeteri kadar güvenli olarak tanınmıyor olabilir.

G-Mail hesabınıza giriş yapın ve ayarlar kısmından Google'da Oturum Açma ayarlarına gelin.



Sayfanın en alt kısmındaki ayarı aktif ettiğinizde yeni yazdığınız programdan, gmail hesabınız ile farklı bir mail adresine e-posta yönlendirmesi yapabileceksiniz.



Bu ayarı, mail göndermek için kullanacağımız gmail hesabı için gerçekleştiriyor
 
Hayır sorun burada değil sanırım anlatamadım.

Bu şekilde her şeyi dolduruyorum fakat ek dosya seçmediğim zaman mail gönderimi başarısız oluyor. Ayrıca hotmail olarak yolluyorum. Ek dosya seçtiğim zaman mail başarılı şekilde gönderiliyor.
 
Ek stringini null değil de String.Empty ile sorgulamanız gerekmektedir. Oradaki textBox değeri şuan null değil boştur ve her ihtimale karşı ==null kod bloğu oluşturarak oluşabilecek hatayı azamiye indiriniz. Null değer yok demektir, String.Empty ise değerin boş olup uzunluğun sıfır olduğu durumdur.
 
Çözüm
ek değişkenini nerede tanımlıyorsunuz kodları atabilir misiniz.

Kod:
if (Ek != null)
            {
                email.Attachments.Add(new Attachment(Ek));
              
            }

şurda patlıyo
 
Ek değişkeni dosya yolunun içinde yazdığı textBox nesnesinin Text özelliği büyük ihtimal. null ile değil de String.Empty ile if-else bloğu oluşturursa hata düzelecektir.
 
Ek değişkeni dosya yolunun içinde yazdığı textBox nesnesinin Text özelliği büyük ihtimal. null ile değil de String.Empty ile if-else bloğu oluşturursa hata düzelecektir.
Yardımcı olabilir misiniz biraz. Henüz yeniyim anlatmak istediğinizi anladım fakat nasıl koda dökeceğimi bilmiyorum.
 
Yardımcı olabilir misiniz biraz. Henüz yeniyim anlatmak istediğinizi anladım fakat nasıl koda dökeceğimi bilmiyorum.
Mail göndermeden bir önceki if bloğunuzda !=null kullanmanız gerekmez. null değersiz demektir ancak sizin ek değişkeniniz şuan boş yani String.Empty. Oradaki null ifadesini String.Empty ile değiştirmeniz hâlinde hatanız düzelecektir.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…