Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#yandex邮件发送错误5.5.4错误:先发送AUTH命令_C#_Email_Sendmail_Yandex - Fatal编程技术网

C#yandex邮件发送错误5.5.4错误:先发送AUTH命令

C#yandex邮件发送错误5.5.4错误:先发送AUTH命令,c#,email,sendmail,yandex,C#,Email,Sendmail,Yandex,我尝试使用C#和yandex发送邮件,但出现错误: 错误5.5.4错误:首先发送AUTH命令 这是我的密码。我尝试使用不同的端口(587465..)和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.

我尝试使用C#和yandex发送邮件,但出现错误:

错误5.5.4错误:首先发送AUTH命令

这是我的密码。我尝试使用不同的端口(587465..)和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的连接(根据)。尝试将
启用SSL
设置为true,并使用主机:
smtp.yandex.com
,端口:465。如果无法工作-请尝试端口25,调用
sc.usedaultcredentials=false后必须设置
sc.Credentials=new System.Net.NetworkCredential()

UseDefaultCredentials=false
凭据重置为
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主机


祝您有愉快的一天:)

我已经SslEnabled=true并尝试了所有端口,但仍然出现错误:(