-1

我正在开发一个 C# 应用程序来使用我们公司邮件的 SMTP 服务器发送邮件。以下是代码。

MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("10.203.195.48");

mail.From = new MailAddress("");
mail.To.Add("");
mail.Subject = "filename";
mail.Body = "Report";

SmtpServer.Host = "ip address fo smtp mail server.";
SmtpServer.Port = 25;
SmtpServer.Credentials = new System.Net.NetworkCredential("", "");

SmtpServer.Send(mail);

但我得到这个错误:

邮箱不可用。无法中继。系统没有互联网连接。

4

2 回答 2

1

以下代码适用于使用端口 587 的Gmail SMTP。您只需更改端口和 SMTP。

添加命名空间

using system.net
MailMessage MyMailMessage = new MailMessage();
MyMailMessage.From = new MailAddress("emailid");
MyMailMessage.To.Add("To");
MyMailMessage.Subject = "Feedback Form";
MyMailMessage.Body = "This is the test message";
MyMailMessage.IsBodyHtml = true;

SmtpClient SMTPServer = new SmtpClient("smtp.gmail.com");
SMTPServer.Port = 587;
SMTPServer.Credentials = new System.Net.NetworkCredential("Username","password");
SMTPServer.EnableSsl = true;

try
{
    SMTPServer.Send(MyMailMessage);
}

catch (Exception ex)
{
    ex.message("error");
}
于 2013-04-20T07:38:12.027 回答
1

来自错误:邮箱不可用。服务器响应为 5.7.1 Unable to relay for (email)

通常,当您拥有来自一个域的邮件服务器(例如 mailserver.com),而地址来自其他域时,就会发生这种情况。From 或 To 地址需要属于域(myname@mailserver.com 或 yourname@mailserver.com)。如果两个地址都不属于邮件服务器“拥有”的域,那么你就是在中继,这是一种垃圾邮件技术,现在通常是不允许的。”

另请参阅博客文章邮箱不可用。服务器响应为: 5.7.1 Unable to relay sendername

于 2013-04-20T07:39:57.263 回答