我正在尝试通过C#.NET code
发送电子邮件,但提供内部例外:
An attempt was made to access a socket in a way forbidden by its access permissions
发送电子邮件的代码是,请告知我的错误(代码将在我们自己的网络下的本地域中运行):
MailMessage mail = new MailMessage("email1@yahoo.com","email2@gmail.com");
smtpClient client = new SmtpClient();
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = "SecretIP of SMPT Server OR IP";
mail.Subject = "This is a test email.";
mail.Body = "This is my test email body";
bool mailSent = false;
bool serverListening = false;
try
{
Ping p = new Ping();
PingReply pr = p.Send(client.Host, 5000);
if(pr.Status == IPStatus.Success)
{
serverListening = !(serverListening);
client.Send(email);
emailSent = !(emailSent);
}
}
catch (Exception ex)
{
Exception ex2 = ex;
string errorMessage = string.Empty;
while (ex2 != null)
{
errorMessage += ex2.ToString();
ex2 = ex2.InnerException;
}
}
答案 0 :(得分:0)
第1步:
首先,从email server's
cmd.exe
IP /别名
在您的情况下,电子邮件服务器的IP为SecretIP of SMPT Server OR IP
(即client.Host
的值)
所以你的命令将是:
ping IP
//OR
ping Alias Name
第2步:
现在您已确认IP已成功ping或不遵循以下说明:
Microsoft Exchange Server
的服务器IP。client.Host
行提示注意:
访问Microsoft Exchange Server Link以了解详情。