System.Net.Mail服务器响应是5.7.1

时间:2011-08-25 18:27:12

标签: c# .net system.net.mail

我正在为一个网络非常紧密的学校构建一个Windows窗体应用程序(意味着我正在构建它的人必须要求他们的IT服务部门完成所有工作)。

此应用程序发送电子邮件,我正在使用System.Net.Mail库来执行此操作。

        SMTPServer = new SmtpClient("SMTPAddress");

        MailMessage mailObj = new MailMessage("admin@xyz.com", emailAddressTo);

        mailObj.IsBodyHtml = true;
        mailObj.Subject = "Subject";
        mailObj.Body = "<h2>Test E-Mail Message from the TSENS</h2>";

        SMTPServer.Credentials = new System.Net.NetworkCredential(SMTPUserName, SMTPPassword);
        SMTPServer.DeliveryMethod = SmtpDeliveryMethod.Network;  //This is new code

        SMTPServer.Send(mailObj);

我想知道这行:SMTPServer.DeliveryMethod = SmtpDeliveryMethod.Network;是否会解决他在发送电子邮件时收到的最新错误消息:

Error 5.7.1

我还缺少其他东西吗?

万一你想知道SMTPUserName和密码是他用来发送和接收邮件的电子邮件用户名和密码。

2 个答案:

答案 0 :(得分:3)

我认为他的mailadress的SMTPUsername不是“admin@xyz.com”,它用作mailmessage的发件人。

邮件服务器似乎验证发送邮件的人是否允许代表admin@xyz.com发送邮件,而这显然不是这样。

根据SMTP规范错误5.7.1代表“无法中继”,这是您尝试做的。

答案 1 :(得分:2)

        emailClient = new SmtpClient(yourEMAILSERVER);
        emailClient.Send(yourMailMessageObject); // in your case "mailObj" that you have defined already

我会避免使用SMTPServer类或设置其Credentials或DeliveryMethod属性。