Subject: C# ile Mail Gönderme Sorunu ve İp den Pc Adı
Posted: 19 Temmuz 2016 at 17:50
Yazdigim programimda ip sini girdiğim bilgisayarin adini öğrenmek istiyorum.Cmd komutu vasıtasıyla bunu gerçekleştirmeye çalıştım fakat bir yerde sıkıntı var ,komutun geri dönüş mesajını(bilgisayarın adını içeriyor) ekrana yazdıramadım.Ben şu şekilde yapmaya çalıştım sonuç alamadım farklı bir yoldan yapabilir miyim ? veyahut buradaki hata nerededir ?
Process cmd = new Process(); cmd.StartInfo.FileName = "cmd.exe"; cmd.StartInfo.RedirectStandardInput =true; cmd.StartInfo.RedirectStandardOutput = true; cmd.StartInfo.CreateNoWindow = true; cmd.StartInfo.UseShellExecute = false; cmd.Start(); cmd.StandardInput.WriteLine("nbtstat -A BelirlediğimİP"); cmd.StandardInput.Flush(); string veriler = "Bilgisayarın adı : " + cmd.StandardOutput ; cmd.StandardInput.Close(); listBox1.Items.Add(veriler); cmd.StandardInput.Close(); cmd.Close();
2. Sorun : C# ile belirlediğim gmail adresimden belirlediğim bir mail adresine mail göndermek istiyorum ,internette yaptığım araştırmalar sonucunda bulduğum veriler yararlı olmadı ,kimisinde "SMTP ana bilgisayarı bulunamadı" uyarısı verdi kimisinde proğram dondu.Kodlar aşağıdaki gibidir,mail gönderimi için bilgisayardan özel bi ayar yapmam gerekli mi ?
MailMessage mesaj = new MailMessage();
mesaj.From = new MailAddress("gonderen@gmail");
mesaj.To.Add(new MailAddress("alıcı@gmail"));
mesaj.Subject = "Deneme";
mesaj.Body = "Deneme";
mesaj.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.Credentials = new NetworkCredential("gonderen@gmail", "sifre");
smtp.EnableSsl = true;
object userState = mesaj;
smtp.SendCompleted += (s, e) =>
{
MailMessage mail = (MailMessage)e.UserState;
if (e.Cancelled)
{
MessageBox.Show("[{0}] konulu email iptal edildi."+ mail.Subject);
}
if (e.Error != null)
{
MessageBox.Show("[{0}] konulu email gonderilirken hata. Hata mesaji: [{1}]" +mail.Subject, e.Error.ToString());
}
else
{
MessageBox.Show("[{0}] konulu email gonderildi."+ mail.Subject);
}
};
smtp.SendAsync(mesaj, userState);