我正在使用SmtpClient发送带附件的简单邮件但我收到此错误:

  

邮箱不可用。服务器响应是:不是本地主机   example.com,而不是网关

     

System.Net.Mail.SmtpFailedRecipientException:   邮箱不可用。

     

服务器响应是:不是本地主机example.com,而不是网关   System.Net.Mail.SmtpTransport.SendMail(MailAddress sender,MailAddressCollection recipients,String deliveryNotify,SmtpFailedRecipientException& exception)at at   System.Net.Mail.SmtpClient.Send(MailMessage消息)

代码:

public static void CreateMessageWithAttachment(byte[] compressed)
    {
        // Create a message and set up the recipients.
        MailMessage message = new MailMessage(
           "noreply@example.com",
           "recepient@example.com",
           "Hello.",
           "How are you?");

        // Create  the file attachment for this e-mail message.
        Stream attachStream = new MemoryStream(compressed);
        Attachment attachment = new Attachment(attachStream, MediaTypeNames.Application.Octet);
        message.Attachments.Add(attachment);

        //Send the message.
        SmtpClient client = new SmtpClient("123.12.12.123");
        // Add credentials if the SMTP server requires them.
        client.Credentials = CredentialCache.DefaultNetworkCredentials;

        client.Send(message);

        attachment.Dispose();
    }

当然域和IP在原始代码中有效。我尝试过使用“localhost”和和IP,但得到相同的错误。谷歌搜索返回了3个结果,其中有用的一个似乎是中文和防火墙阻止我翻译它。

提前致谢。

有帮助吗?

解决方案

我搜索过: C#smtpclient错误服务器响应是:not本地主机example.com,而不是网关 并获得27K +结果。

如果您使用localhost,请查看此页

This is a relay error. Make sure you can relay through the SmtpMail.SmtpServer 
either by your IP address, by your MailMessage.From address, or if you need to 
authenticate, check out 3.8 How do I authenticate to send an email? 

If SmtpMail.SmtpServer is set to "127.0.0.1" or "localhost", and you are using 
the built in IIS SMTP Service, you can allow relaying for 127.0.0.1 by 

1) Opening the IIS Admin MMC
2) Right-Clicking on the SMTP Virtual Server and selecting Properties
3) On the Access tab, click the Relay button
4) Grant 127.0.0.1 (or the IP address used by System.Web.Mail) to the 
   Computers list.
5) Close all dialogs
6) Restarting the SMTP Service
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top