Email non funzionante, non in grado di ricevere e-mail per l’ID e-mail yahoo

Sono bloccato e non riesco a ricevere email da yahoo id (se l’id dell’email del mittente è di yahoo). il codice funziona bene non mi dà alcun errore e sto ricevendo e-mail dam gmail id. sto usando localhost (non in macchina locale sul server live). server di hosting: smtp.snapgrid.com ha anche utilizzato l’autenticazione, abilita ssl, usando la porta corretta per ssl. su Snapgrid lo faccio, così ho capito che la posta da yahoo è bloccata e il messaggio è,

Messaggio :

Type: blocked Reason: 550 5.7.1 Unauthenticated email from yahoo.com is not accepted due to domain's DMARC policy. Please contact administrator of yahoo.com domain if this was a legitimate mail. Please visit http://support.google.com/mail/answer/2451690 to learn about DMARC initiative. 

per favore aiuto…

il codice che ho usato per inviare è (funziona bene solo dando un’idea):

Metodo 1:

      SmtpClient objSMTPClient = new SmtpClient(); objSMTPClient.Host = ConfigurationManager.AppSettings["strSMTPServer"]; string BODY_FORMAT = ConfigurationManager.AppSettings["EmailBodyContentFormat"]; MailMessage objMailMessage = new MailMessage(from.Trim(), to.Trim(), subject.Trim(), body.Trim()); objSMTPClient.UseDefaultCredentials = false; if (BODY_FORMAT.ToUpper() == "HTML") objMailMessage.IsBodyHtml = true; else if (BODY_FORMAT.ToUpper() == "TEXT") { body = StripTags(body); objMailMessage.IsBodyHtml = false; objMailMessage.Body = body.ToString().Trim(); } else return false; objSMTPClient.Send(objMailMessage); return true; 

    Metodo 2:

      SmtpClient oMail = new SmtpClient(); MailMessage msg = new MailMessage(); MailAddress Madd = new MailAddress(from, "sunil"); oMail.Host = "smtp.gmail.com"; oMail.Port = 587; oMail.EnableSsl = true; oMail.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; oMail.Credentials = new NetworkCredential("[email protected]", "******"); oMail.Timeout = 20000; msg.From = Madd; msg.Body = body.ToString(); msg.To.Add(to); msg.Subject = subject; msg.IsBodyHtml = true; oMail.Send(msg); return true; 

    entrambi stanno lavorando senza bug in esecuzione senza errori ….

    Se stai inviando tramite un server appartenente a qualcuno come Yahoo, Google o Office365, si aspetta che il nome del mittente dell’account corrisponda a quello che stai inviando utilizzando l’indirizzo da.

    Ad esempio, questo funzionerebbe su un server SMTP locale:

     Message.From = new MailAddress("[email protected]"); 

    Tuttavia, per farlo inviare tramite qualcuno come Yahoo richiederebbe di inviarlo in questo modo:

     Message.From = new MailAddress("[email protected]", "Grandmaster Flush"); 

    Se il nome del mittente fornito non corrisponde esattamente a quello dell’account, l’email non verrà inviata.