2016-04-03 46 views
0

Birkaç gün boyunca bu konuda çalışıyorum ve bana bir hata vermese de e-postaları da göndermiyor. herhangi). (E-postanın gönderildiği mesaj iletişim formumda gösterilecek ...)E-posta iletişim formu gönderiliyor C# asp.net visual studio 2012

Asp.net'de bir iletişim formu oluşturdum C# -it yerel ana bilgisayarımda çalışıyor ancak bir e-posta göndermek istiyorum benim gmail veya outlook hesabına.

Soru şu ki ... ... kodumdaki sorun nedir? Baska öneri?

Yardımlarınız için şimdiden teşekkür ederiz!

protected void BtnSubmit_Click1(object sender, EventArgs e) 
    { 
     if (IsValid) //if all boxes are filled in... 
     { 
      try 
      { 
       MailMessage mailMessage = new MailMessage(); 
       MailAddress fromAddress = new MailAddress(txtbxEmailAddress.Text); //sender email address 
       mailMessage.From = fromAddress; 
       mailMessage.To.Add("[email protected]"); //receiver email address    
       mailMessage.Body = txtRequest.Text; 
       mailMessage.IsBodyHtml = true; 
       mailMessage.Subject = " Contact Us"; 

       SmtpClient smtpClient = new SmtpClient(); 
       smtpClient.Host = "smtp.gmail.com"; 
       smtpClient.Port = 587; 
       smtpClient.EnableSsl = true; 
       smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; 
       smtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", "mypassword"); 
       smtpClient.Send(mailMessage); 
      } 
      catch (Exception) 
      { 
       lblMailmsg.Text = String.Format("Error sending email"); 
      } 

      lblMailmsg.Text = String.Format("Your Message has been sent. We will be in contact with you as soon as possible."); //msg show when mail is sent 

      //clear contact form 
      txtbxfname.Text = ""; 
      txtbxLName.Text = ""; 
      txtbxEmailAddress.Text = ""; 
      txtRequest.Text = ""; 
     } 
     } 
}  



    } 

cevap

0

Ben kodunuzu bu hat ne olduğunu görmek en büyük sorun: Burada

kodudur.

mailMessage.From = fromAddress; 

Bu SPF kırmak ve ayrıca DMARC başarısız olmasına neden ve bazı insanlardan mesajı asla olacaktır.

Burada bu konuda daha fazla bilgi edinebilirsiniz: "DMARC - Contact Form Nightmare"

önerilen geçici çözüm yapmak olacaktır:

mailMessage.From = "[email protected]" 
mailMessage.Subject = " Contact Us" + fromAddress; 

Bu şekilde - Eğer makalede konu anahat kaçının.

+0

EVET! Çok teşekkür ederim :) Ben onu değiştirdim: mailMessage.From = new MailAddress ("[email protected]"); mailMessage.Subject = "Bize Ulaşın" + fromAddress; Ve e-postayı gmail'imde aldım. :) Sorun şu ki, e-postayı gmail’de aldığımda benden, iletişim formundaki kullanıcı tarafından doldurulmuş olan e-posta adresinden değil. Bunu nasıl değiştiririm? Sorunun nerede olduğunu bildiğim kadar çok teşekkür ederim ... :) – Milo

+0

Bunu değiştiremezsin, bütün mesele bu - Müşteriye cevap vermek için senin parçan üzerinde biraz daha iş olacak. Ancak en azından e-postaları yanıtlamak için müşteriden alırsınız. – Henry

+0

Tamam Teşekkür ederim. Bunu da değiştirmeyi umuyordum, bu yapamayacağınız utanç verici :(Ama haklısın, en azından e-postalarımı alıyorum! :) Tekrar teşekkürler! – Milo