C# yandex mail send error 5.5.4 Error: send AUTH command first
C# yandex mail send error 5.5.4 Error: send AUTH command first
我尝试使用 C# 和 yandex 发送邮件,但出现错误:
Error 5.5.4 Error: send AUTH command first
这是我的代码。我尝试使用不同的端口(587、465..)和 SMTP 主机(smtp.yandex.com.tr、smtp.yandex.com、smtp.yandex.ru...),但所有尝试都出现相同的错误。
SmtpClient sc = new SmtpClient("smtp.yandex.com.tr", 587);
//sc.Port = 587;
//sc.Host = "smtp.yandex.com";
sc.EnableSsl = false;
sc.Credentials = new System.Net.NetworkCredential(System.Configuration.ConfigurationManager.AppSettings["Email"].ToString(),
System.Configuration.ConfigurationManager.AppSettings["Sifre"].ToString());
sc.UseDefaultCredentials = false;
sc.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
Yandex Mail 不支持没有 SSL 的连接(根据 https://yandex.com/support/mail/mail-clients.xml)。尝试将 EnableSsl
设置为 true 并使用主机:smtp.yandex.com
、端口:465。如果它不起作用 - 尝试端口 25
调用sc.UseDefaultCredentials = false;
后必须设置sc.Credentials = new System.Net.NetworkCredential()
UseDefaultCredentials = false
会将 Credentials
重置为 null
尝试将行顺序切换为:
sc.UseDefaultCredentials = false;
sc.Credentials = new System.Net.NetworkCredential(System.Configuration.ConfigurationManager.AppSettings["Email"].ToString(),
System.Configuration.ConfigurationManager.AppSettings["Sifre"].ToString());
smtp.yandex.ru 的有效设置:
smtpUserName=""
enableSsl="true"
smtpPassword=""
smtpAuthentication="Basic"
smtpServer="smtp.yandex.ru"
smtpPort="465"
如果您的密码错误,就会出现此错误。至少对我来说是这样。
我通过将 SMTP 主机从 smtp.yandex.com 更改为 smtp.yandex.ru 并使用端口 25 解决了这个问题。
非常适合我。
这是代码:
EmailCredentials credentials = new EmailCredentials();
credentials.Domain = "domain.com";
credentials.SMTPUser = "webmail@domain.com";
credentials.SMTPPassword = "pass";
int SmtpPort = 25;
string SmtpServer = "smtp.yandex.ru";
MailMessage EmailMsg = new MailMessage();
EmailMsg.From = new MailAddress("webmail@domain.com", "Domain");
EmailMsg.To.Add(new MailAddress("info@domain.mk", "info@domain.mk"));
EmailMsg.ReplyToList.Add("info@domain.com");
EmailMsg.Subject = "Welcome";
EmailMsg.Body = "HTML body code";
EmailMsg.IsBodyHtml = true;
EmailMsg.Priority = MailPriority.Normal;
System.Net.Mail.SmtpClient SMTP = new System.Net.Mail.SmtpClient();
SMTP.Host = SmtpServer;
SMTP.Port = SmtpPort;
SMTP.EnableSsl = true;
SMTP.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
SMTP.UseDefaultCredentials = false;
SMTP.Credentials = new System.Net.NetworkCredential(credentials.SMTPUser, credentials.SMTPPassword);
SMTP.Send(EmailMsg);
我有同样的错误,我通过在 mail.yandex.com(在电子邮件帐户中)
做一些设置来纠正它
修复它;
- 输入邮件地址 (mail.yandex.com)
- 设置
- 其他电子邮件应用程序
- 设置所有选定的 POP3 设置。
注意:我使用了 587 端口和 smtp.yandex.com.tr 主机。
祝你有愉快的一天:)
我尝试使用 C# 和 yandex 发送邮件,但出现错误:
Error 5.5.4 Error: send AUTH command first
这是我的代码。我尝试使用不同的端口(587、465..)和 SMTP 主机(smtp.yandex.com.tr、smtp.yandex.com、smtp.yandex.ru...),但所有尝试都出现相同的错误。
SmtpClient sc = new SmtpClient("smtp.yandex.com.tr", 587);
//sc.Port = 587;
//sc.Host = "smtp.yandex.com";
sc.EnableSsl = false;
sc.Credentials = new System.Net.NetworkCredential(System.Configuration.ConfigurationManager.AppSettings["Email"].ToString(),
System.Configuration.ConfigurationManager.AppSettings["Sifre"].ToString());
sc.UseDefaultCredentials = false;
sc.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
Yandex Mail 不支持没有 SSL 的连接(根据 https://yandex.com/support/mail/mail-clients.xml)。尝试将 EnableSsl
设置为 true 并使用主机:smtp.yandex.com
、端口:465。如果它不起作用 - 尝试端口 25
调用sc.UseDefaultCredentials = false;
后必须设置sc.Credentials = new System.Net.NetworkCredential()
UseDefaultCredentials = false
会将 Credentials
重置为 null
尝试将行顺序切换为:
sc.UseDefaultCredentials = false;
sc.Credentials = new System.Net.NetworkCredential(System.Configuration.ConfigurationManager.AppSettings["Email"].ToString(),
System.Configuration.ConfigurationManager.AppSettings["Sifre"].ToString());
smtp.yandex.ru 的有效设置:
smtpUserName=""
enableSsl="true"
smtpPassword=""
smtpAuthentication="Basic"
smtpServer="smtp.yandex.ru"
smtpPort="465"
如果您的密码错误,就会出现此错误。至少对我来说是这样。
我通过将 SMTP 主机从 smtp.yandex.com 更改为 smtp.yandex.ru 并使用端口 25 解决了这个问题。 非常适合我。 这是代码:
EmailCredentials credentials = new EmailCredentials();
credentials.Domain = "domain.com";
credentials.SMTPUser = "webmail@domain.com";
credentials.SMTPPassword = "pass";
int SmtpPort = 25;
string SmtpServer = "smtp.yandex.ru";
MailMessage EmailMsg = new MailMessage();
EmailMsg.From = new MailAddress("webmail@domain.com", "Domain");
EmailMsg.To.Add(new MailAddress("info@domain.mk", "info@domain.mk"));
EmailMsg.ReplyToList.Add("info@domain.com");
EmailMsg.Subject = "Welcome";
EmailMsg.Body = "HTML body code";
EmailMsg.IsBodyHtml = true;
EmailMsg.Priority = MailPriority.Normal;
System.Net.Mail.SmtpClient SMTP = new System.Net.Mail.SmtpClient();
SMTP.Host = SmtpServer;
SMTP.Port = SmtpPort;
SMTP.EnableSsl = true;
SMTP.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
SMTP.UseDefaultCredentials = false;
SMTP.Credentials = new System.Net.NetworkCredential(credentials.SMTPUser, credentials.SMTPPassword);
SMTP.Send(EmailMsg);
我有同样的错误,我通过在 mail.yandex.com(在电子邮件帐户中)
做一些设置来纠正它修复它; - 输入邮件地址 (mail.yandex.com) - 设置 - 其他电子邮件应用程序 - 设置所有选定的 POP3 设置。
注意:我使用了 587 端口和 smtp.yandex.com.tr 主机。
祝你有愉快的一天:)