Электронная почта не работает, не удается получить электронную почту для Yahoo ID электронной почты
Я застрял и не могу получить электронное письмо от идентификатора Yahoo (если идентификатор электронной почты отправителя Yahoo). Код работает нормально, не выдавая мне никакой ошибки, и я получаю письмо от m gmail id. Я использую localhost (не на локальной машине на живом сервере). Сервер хостинга: smtp.snapgrid.com также использовал аутентификацию, включил ssl, используя соответствующий порт для ssl. на snapgrid я проверяю, так что я получил, почта от Yahoo заблокирована, и сообщение,
сообщение:
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.
пожалуйста помоги...
код, который я использовал для отправки (работает нормально, просто давая идею):
Способ 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;
Способ 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("sunil123@mydomain.com", "******");
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;
оба работают без ошибок, работают без ошибок....
1 ответ
Если вы отправляете через сервер, принадлежащий кому-то, например, Yahoo, Google или Office365, они ожидают, что имя отправителя учетной записи будет совпадать с тем, которое вы отправляете, используя адрес от.
Например, это будет работать на вашем локальном SMTP-сервере:
Message.From = new MailAddress("GrandMasterFlush@domain.com");
Однако, чтобы получить его для отправки через кого-то вроде Yahoo, вам потребуется отправить его следующим образом:
Message.From = new MailAddress("GrandMasterFlush@domain.com", "Grandmaster Flush");
Если имя отправителя не совпадает с именем учетной записи, электронное письмо не будет отправлено.