2012-02-20 74 views
0

这是内部网应用程序,我正在使用公司的邮件发送电子邮件。它可以在我有的其他应用程序中正常工作,但不是在这个应用程序中,一切都一样。 尝试发送邮件时,出现“System.Net.Mail.SmtpException:参数或参数中的语法错误,服务器响应为:5.5.2 MAIL FROM语法错误”。 这是我如何设置它:发送邮件的ASP.NET错误

MailMessage mm = new MailMessage(); 
    mm.From = new MailAddress("[email protected]_Redirection.company.org"); 
    mm.To.Add(new MailAddress("[email protected]")); 
    mm.Subject = "AMS Redirection Error"; 
    mm.Priority = MailPriority.Normal; 
    mm.IsBodyHtml = true; 
    mm.Body = "some html stuff here"; 

    SmtpClient sc = new SmtpClient("mailrelay.company.org"); 
    sc.Credentials = new NetworkCredential(); 

    try 
    { 
     sc.Send(mm); 
    } 
    catch (SmtpException smtpEx) 
    { 
     //A problem occurred when sending the email message 
     string sScript = string.Format("alert(\"There was a problem in sending the email: {0}\");", smtpEx.Message.Replace("\r\n", " ")); 
     ClientScript.RegisterStartupScript(this.GetType(), "SMTP Error", sScript, true); 
    } 

我可以ping通邮件中继。

回答

0

尝试将“发件人”地址设置为您知道错误的地方。当“发件人”地址被我的SMTP转发服务拒绝时,我会收到此例外情况。如果仍然以相同的方式失败,则说明问题出在继电器的配置中。

0

你检查过你的SMTP服务器的smtp端口是否是标准端口吗?否则,你必须明确地设置它。

+0

谢谢你的快速回复,Enrico和@ n8wrl。我在另一个使用完全相同的代码并且工作正常的Intranet应用程序中对此进行了测试。所以,我不确定这是否是真正的邮件问题。 “发件人:”是一个虚假的电子邮件地址,只是为了让用户知道不要回复它并在其他应用程序中设置相同的方式。 – NoBullMan 2012-02-20 18:07:10

+0

@ n8wrk和恩里科,我发现这个问题,它似乎真的很幼稚;我不知道这是否适用于所有电子邮件地址,或者它只是我们的邮件中继,但是当我将AMS_Redirection.company.org上的“From:”地址更改为AMSRedir.company.org时,它工作正常。我摆脱了下划线并缩短了一下! – NoBullMan 2012-02-20 18:29:55