C# e-posta gönderme hatası

burak125

Hectopat
Katılım
28 Ocak 2014
Mesajlar
54
Yer
İstanbul, Turkey
Daha fazla  
Cinsiyet
Erkek
Meslek
ÖĞRENCİ
Merhaba arkadaşlar. Yaptığım bir otomasyonda mail göndertmem gerekiyor. Bu hatayı alıyorum :
Error2Since 'Uygulama_Deneme.mail.button1_Click(object, System.EventArgs)' returns void, a return keyword must not be followed by an object expression

Kodlarım bunlar:

Kod:
private void button1_Click(object sender, EventArgs e)
        {
            MailMessage mail=new MailMessage();
            mail.From = new MailAddress(textBox1.Text);
            mail.To.Add("burakbaloglu1007@gmail.com");
            mail.Subject = textBox2.Text;
            mail.Body = textBox3.Text;
            SmtpClient smtp=new SmtpClient();
            smtp.Credentials = new System.Net.NetworkCredential("mail","sifre");
            smtp.Port = 587;
            smtp.Host = "smtp.gmail.com";
            smtp.EnableSsl = true;
            object userState = mail;
            bool kontrol = true;
            try
            {
                smtp.SendAsync(mail, (object)mail);
            }
            catch (SmtpException ex)
            {
                kontrol = false;
                System.Windows.Forms.MessageBox.Show(ex.Message, "Mail Gönderilemedi");
            }
            return kontrol;
        }

Sebebi nedir?
 
Son düzenleyen: Moderatör:
button1_Click olayı void olarak tanımlandığından herhangi bir değeri "return" anahtar kelimesi ile olaydan gönderemezsiniz. Paylaştığınız kod parçasının en sonundaki "return kontrol;" satırını kaldırıp yeniden dener misiniz? Bakalım kod hatasız çalışacak mı yoksa farklı bir hata mesajı mı alacaksınız?
 
Bu kütüphaneleri ekle :
Kod:
using System.Net.Mail;
using System.Net;

Daha sonra bir nesnenin herhangi bir olayına ( Senin ihtiyaç ve arzularına kalmış ) bu kodları göm :
Kod:
try
            {
                SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
                MailMessage mesaj = new MailMessage();
                mesaj.To.Add(alicimail.Text);
                mesaj.From = new MailAddress(gondericimail.Text);
                mesaj.Subject = konu.Text;
                mesaj.Body =icerik.Text;
                NetworkCredential guvenlik = new NetworkCredential(gondericimail.Text,                                                          gondericisifre.Text);
                client.Credentials = guvenlik;
                client.EnableSsl = true;
                client.Send(mesaj);
                MessageBox.Show("Başarılı", "Mail Gönderme");
            }
            catch
            {
                MessageBox.Show("Başarısız", "Mail Gönderme");
            }

Gönderici gmail hesabı tarafında da bu ayarlamayı yap ki sorun yaşamayasın : https://www.technopat.net/sosyal/konu/c-mail-goenderme-hatasi-smtp-gmail-port587.398035/

Sonu ".text" ile biten nesneler için Textboxt'lar oluştur, nesne isimlerini kodlamalardaki ile aynı ver.
Textbox içeriğine ise başında ve sonunda boşluk bırakmadan istenilen bilgileri gir.

Mail gönderimi sonrası pencereden uyarı almak istemiyorsan o kısımda değişiklik yapabilirsin duruma göre.
 
Uyarı! Bu konu 9 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı