这个问题是这样的.
我的.NET的程序使用opensmtp来发邮件.
以前,在我们公司的服务器上,发邮件的网页是可以把邮件发出去的,但在我自己的开发环境里面,发邮件是肯定发不出去的.
现在我在我家的机器上重了个开发环境,然后公司的服务器重装了.结果变成了在我家的机器上能发出邮件,公司的服务器发不出邮件.
发邮件的时候报错:
[SmtpException: ERROR - Expecting: 250. Recieved: 334 VXNlcm5hbWU6
]
   OpenSmtp.Mail.Smtp.SendMail(MailMessage msg) +622
程序源代码完全一样,用户名和密码也是不会有错的,但为什么会出现这种情况,百思不得其解....而且这次还有另一个问题,我的发邮件函数有三个版本:
public static void SendEmail(string subject, string email, int orderID, string body)
{
System.Web.Mail.MailMessage message = new System.Web.Mail.MailMessage();
message.BodyEncoding = System.Text.Encoding.Default;
message.BodyFormat = MailFormat.Html ;
message.Subject = subject;
message.To = email;
message.From = "来源";
message.Priority = System.Web.Mail.MailPriority.Normal;

message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");        //basic authentication 
message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "名字"); //set your username here 
message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "密码");        //set your password here 
SmtpMail.SmtpServer = "邮件服务器";
message.Body = body;
System.Web.Mail.SmtpMail.Send(message);
}public static void SendEmail(string subject, string email, int orderID, string body, string mailsender, string mailid, string mailpassword)
{
System.Web.Mail.MailMessage message = new System.Web.Mail.MailMessage();
message.BodyEncoding = System.Text.Encoding.Default;
message.BodyFormat = MailFormat.Html ;
message.Subject = subject;
message.To = email;
message.From = mailsender;
message.Priority = System.Web.Mail.MailPriority.Normal;

message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");        //basic authentication 
message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", mailid); //set your username here 
message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", mailpassword);        //set your password here 
SmtpMail.SmtpServer = "邮件服务器";
message.Body = body;
System.Web.Mail.SmtpMail.Send(message);
}public static void SendEmail(string subject, string email, string body, string mailsender, string mailid, string mailpassword)
{
string  smtpHost  ="邮件服务器";
int  smtpPort  = 25;
string  senderEmail  = mailsender;
string  recipientEmail = email;
OpenSmtp.Mail.MailMessage msg = new OpenSmtp.Mail.MailMessage(senderEmail, recipientEmail);
msg.Charset = "GB2312";
msg.Priority = OpenSmtp.Mail.MailPriority.Normal;
msg.From.Name   = "名字";
msg.Subject = subject;
msg.Body = "请用HTML格式浏览。";               
msg.HtmlBody = body;
SmtpConfig.VerifyAddresses = false;
SmtpConfig.LogToText = true;
SmtpConfig.LogMaxSize = 1000;
SmtpConfig.LogPath = "c:\\opensmtp\\log.txt";
Smtp smtp = new Smtp(smtpHost, mailid, mailpassword, smtpPort);
smtp.SendMail(msg);
}这三个版本的发邮件函数的第一个,可以发出邮件,但后两个不行(在现在的服务器上),在我家里的机器上是三个都能发。
盼各位高手解答!