自己写了个发邮件的系统,原来调试好好的。今天调试时说:"不允许使用邮箱名称。 服务器响应为: You are not authorized to send mail, au..."
大家谁遇到过这样的情况,指导一下。以下是报错的代码:
Class Mail
{
...........
...........
public bool Send(string subject,string message)
{ try
{
mailMessage.From = new MailAddress(adminEmail);
if (replyTo != null)
{
if (replyTo != "")
{
mailMessage.ReplyTo = new MailAddress(replyTo);
}
}
mailMessage.Sender = mailMessage.From;
if(flag)
{
mailMessage.IsBodyHtml = true;
}
else
{
mailMessage.IsBodyHtml = false;
}
mailMessage.Subject = subject;
mailMessage.Body = message;
SmtpClient server = new SmtpClient(smtpServer);
if (port > -1)
{
server.Port = port;
}
server.Credentials = new System.Net.NetworkCredential(userName,password); server.Send(mailMessage); exception = "Mail send success!"; return true;
}
catch(Exception e)
{
exception = e.Message;
return false;
}
}
}
大家谁遇到过这样的情况,指导一下。以下是报错的代码:
Class Mail
{
...........
...........
public bool Send(string subject,string message)
{ try
{
mailMessage.From = new MailAddress(adminEmail);
if (replyTo != null)
{
if (replyTo != "")
{
mailMessage.ReplyTo = new MailAddress(replyTo);
}
}
mailMessage.Sender = mailMessage.From;
if(flag)
{
mailMessage.IsBodyHtml = true;
}
else
{
mailMessage.IsBodyHtml = false;
}
mailMessage.Subject = subject;
mailMessage.Body = message;
SmtpClient server = new SmtpClient(smtpServer);
if (port > -1)
{
server.Port = port;
}
server.Credentials = new System.Net.NetworkCredential(userName,password); server.Send(mailMessage); exception = "Mail send success!"; return true;
}
catch(Exception e)
{
exception = e.Message;
return false;
}
}
}
我已经提交验证了
client.UseDefaultCredentials = true;//设置为发送认证消息
client.Credentials = new System.Net.NetworkCredential("用户名", "密码");//认证消息
System.Net.Mail.MailMessage mess = new System.Net.Mail.MailMessage();
mess.From = new System.Net.Mail.MailAddress("发信人地址", "要显示的发信人的名称");
mess.To.Add(new System.Net.Mail.MailAddress("收信人地址", "要显示的收信人的名称"));
mess.Subject = "主题";
mess.Body = "正文";
try
{
client.Send(mess);
MessageBox.Show("发送成功完成");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}注意:
client.UseDefaultCredentials = true 此属性的设置一定要放在client.Credentials = new System.Net.NetworkCredential("用户名", "密码");之前,否则就无法发送成功.