SmtpClient client = new SmtpClient("127.0.0.1", 25);
//身份验证
client.Credentials = new NetworkCredential("[email protected]", "123456");
client.UseDefaultCredentials = true;
//指定如何处理待发的电子邮件
client.DeliveryMethod = SmtpDeliveryMethod.Network;
MailMessage mail = new MailMessage();
//发送地址
mail.From = new MailAddress("[email protected]");
//接受地址
mail.To.Add("[email protected]");
//邮件标题
mail.Subject = "标题";
//邮件主题
mail.Body = "测试";
mail.BodyEncoding = System.Text.Encoding.UTF8;
//是否支持HTML
mail.IsBodyHtml = true; try
{
//client.SendAsync(mail,max);
client.Send(mail);
mail.Dispose();
MessageBox.Show("发送成功");
}
catch (SmtpException ex)
{
MessageBox.Show(ex.ToString());
return;
}
上面是我写的代码,程序用126、QQ等邮箱来发送邮件都是没问题的。不过我自己用Foxmail Server配置了个邮箱服务器,用这个配置的邮箱来发送邮件的时候就会出错,错误信息为“命令顺序不正确。 服务器响应为: AUTH first”。
本来我怀疑是Foxmail Server配置的问题,不过我用Foxmail和outlook等邮箱管理软件测试过都没问题的,只有我自己写的发不出而已。
为什么会出现上述错误?该怎么解决?
先谢各位了!
这里你指定的smtp服务器是QQ的,[email protected]你怎么又用4jhong的邮箱来发呢?你把[email protected]这个地址换成QQ邮箱吧。或者换smtp服务器也一样。
这里我指定的服务器是我本地的服务器啊“127.0.0.1”
mail.To.Add("[email protected]");这里是我的接收地址
[email protected]是我的发送地址,这里我想是没问题的