none
5.7.1 error logging "send as this sender" RRS feed

  • Question

  • Exchange 2007

    I can't offer much more information at this point.

    I'm having an issue with an ASP.NET application that is trying to send out an email.  The application is writing something like this in the Windows event log on the application server:

    ...Mailbox unavailable: The server response was 5.7.1 Client does not have permission to send as this sender at...

    I'm trying to work through the problem, but what is really surprising to me (and the experienced Exchange administrator) is we can't seem to find this error on the Exchange server itself in any of the logs.  There is no trace of this connection/communication at all.

    Is that normal?

    I'm at the point of setting up a network monitor so we can actually confirm the network connection is occuring.  Then I'll move on to concentrating on the ASP.NET application.

    Tuesday, July 12, 2011 5:21 AM

Answers

  • Hi,

    Have you seen the answer I posted in your pervious thread? http://social.technet.microsoft.com/Forums/en-US/exchangesvrdeploy/thread/5a5b15fd-7e99-4462-96a9-d5f77b68c7b5/#88efabee-d196-40c1-8df0-48b6ee071cc8

    If you want the application to send a message through the exchange server, you need to allow the relay for the application server or sending the message by authentication.

    Allow Anonymous Relay on a Receive Connector

    http://technet.microsoft.com/en-us/library/bb232021.aspx


    For sending a message by basic authentication, please refer the following C # code:

    SmptClinet mySMTP= new SmtpClient (servername, 25)

    System.Net.NetworkCredential user1= new System.Net.NetworkCredential ("user@domain.com", "Password");

    mySMTP.Crendetial=user1

    Note: If you use Thomas@domain.com for authentication. The sender email address must be Thomas@domain.com or this user’s alternative email addresses.

    You also need to check if the basic authentication is enabled on your receive connector:

    1. Open EMC, expand to server configuration->Hub transport. In receive connector tab, right click the default receive connector and choose properties.
    2.
    In authentication tab, make sure that Basic authentication is checked and the “Offer Basic authentication only after starting TLS” is unchecked.

    Gen Lin

    Forum Support

    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

     

    • Marked as answer by Gen Lin Friday, July 22, 2011 2:31 AM
    Wednesday, July 13, 2011 1:41 AM
    1. This isn't a known issue, The issue is with app.  You need to speak to the developer who wrote this and understand what autentication it supplies.  From your code it doesnt show anything.  A guess would be BASIC.
    2. You havent mentioned if you were relaying to your internal domain or external domain.  Now that you have mentioned internal, then dont give the right to submit to any recipient.
    3. This is why you may have to do this to get it working, without knowing the authentication the app is trying to send.
    4. You have mentioned that telnet works fine, so you know Exch is working through basic smtp command, the issue is with your app.
    5. I've seen some apps with this issue too, this is the reason why I suggested this.
    6. When you did you telnet test, you made one up, sure, the IP is trusted, your app sitting on that IP is doing something else.
    7. Also, set the DefaultDomain on the receiveconnector.

    Sukh
    • Edited by Sukh828 Thursday, July 14, 2011 11:44 AM Point 7 added.
    • Marked as answer by Gen Lin Friday, July 22, 2011 2:31 AM
    Thursday, July 14, 2011 11:37 AM

All replies

  • That is an SMTP error.
    Exchange doesn't log everything, particularly if it happening at the SMTP transport layer.

    Are you authenticating when sending the email? If not then that is probably the issue. It could be caused by a third party tool that is stopping the application from sending the email with the From field populated, could be an anti-spam/anti-spoofing technique.

    Simon.


    Simon Butler, Exchange MVP
    Blog | Exchange Resources | In the UK? Hire Me.
    Wednesday, July 13, 2011 12:01 AM
  • Hi,

    Have you seen the answer I posted in your pervious thread? http://social.technet.microsoft.com/Forums/en-US/exchangesvrdeploy/thread/5a5b15fd-7e99-4462-96a9-d5f77b68c7b5/#88efabee-d196-40c1-8df0-48b6ee071cc8

    If you want the application to send a message through the exchange server, you need to allow the relay for the application server or sending the message by authentication.

    Allow Anonymous Relay on a Receive Connector

    http://technet.microsoft.com/en-us/library/bb232021.aspx


    For sending a message by basic authentication, please refer the following C # code:

    SmptClinet mySMTP= new SmtpClient (servername, 25)

    System.Net.NetworkCredential user1= new System.Net.NetworkCredential ("user@domain.com", "Password");

    mySMTP.Crendetial=user1

    Note: If you use Thomas@domain.com for authentication. The sender email address must be Thomas@domain.com or this user’s alternative email addresses.

    You also need to check if the basic authentication is enabled on your receive connector:

    1. Open EMC, expand to server configuration->Hub transport. In receive connector tab, right click the default receive connector and choose properties.
    2.
    In authentication tab, make sure that Basic authentication is checked and the “Offer Basic authentication only after starting TLS” is unchecked.

    Gen Lin

    Forum Support

    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

     

    • Marked as answer by Gen Lin Friday, July 22, 2011 2:31 AM
    Wednesday, July 13, 2011 1:41 AM
  • That is an SMTP error.
    Exchange doesn't log everything, particularly if it happening at the SMTP transport layer.

    Are you authenticating when sending the email? If not then that is probably the issue. It could be caused by a third party tool that is stopping the application from sending the email with the From field populated, could be an anti-spam/anti-spoofing technique.

    Simon.


    Simon Butler, Exchange MVP
    Blog | Exchange Resources | In the UK? Hire Me.

    I'm able to send a simple email if I try using telnet, and from the error I'm seeing it must be getting to the Exchange server and not getting blocked?
    Wednesday, July 13, 2011 5:53 PM
  • Hi,

    Have you seen the answer I posted in your pervious thread? http://social.technet.microsoft.com/Forums/en-US/exchangesvrdeploy/thread/5a5b15fd-7e99-4462-96a9-d5f77b68c7b5/#88efabee-d196-40c1-8df0-48b6ee071cc8

    If you want the application to send a message through the exchange server, you need to allow the relay for the application server or sending the message by authentication.

    Allow Anonymous Relay on a Receive Connector

    http://technet.microsoft.com/en-us/library/bb232021.aspx


    For sending a message by basic authentication, please refer the following C # code:

    SmptClinet mySMTP= new SmtpClient (servername, 25)

    System.Net.NetworkCredential user1= new System.Net.NetworkCredential ("user@domain.com", "Password");

    mySMTP.Crendetial=user1

    Note: If you use Thomas@domain.com for authentication. The sender email address must be Thomas@domain.com or this user’s alternative email addresses.

    You also need to check if the basic authentication is enabled on your receive connector:

    1. Open EMC, expand to server configuration->Hub transport. In receive connector tab, right click the default receive connector and choose properties.
    2.
    In authentication tab, make sure that Basic authentication is checked and the “Offer Basic authentication only after starting TLS” is unchecked.

    Gen Lin

    Forum Support

    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

     


    Yes, I did see your message.  From what I can tell, the connector is setup properly, but I fear it is the application that might be trying to do something odd.  I'm going to look into the ASP.NET application now.  I believe it must be doing something since I have a receive connector configured to allow anon users on port 25, but it does work if I just do a plain telnet connection, but the ASP.NET app still fails.
    Wednesday, July 13, 2011 5:57 PM
    1. Try this, create a new receive connector for your ASP.Net app, I assume this is sitting on a server, so add that IP to this new receive connector. Create the connector as per link - http://exchangepedia.com/2007/01/exchange-server-2007-how-to-allow-relaying.html
    2. You need to make these change to the connector, for Authentication, Use Basic Authentication only, for permission groups use, Exchange users Only. Dont select anything else.
    3. Go to ADSIedit>configuration>Services>Microosft Exchange>Exch Org anme>Exch Admin group>Servers>expand your server>protocols>SMTP receive connectros>select your connector>go to properties>security>click add>add your domain user which you are using in your code
    4. Make sure these perissions exisit (allow) for this user>Read,Accept Any Sender,Accept Authoriate Domain Sender,Submit message to any recipient,Submit messages to Server.
    5. Click OK to save changes

     


    Sukh
    Wednesday, July 13, 2011 6:47 PM
  • Hi,

    If the telnet works, the problem should be caused by your ASP.Net application. Does the application send the message with authentication? Which authentication method is used by the application? Please also check if the sender email address is correct.

     



    Thursday, July 14, 2011 2:30 AM
  • Hi,

    If the telnet works, the problem should be caused by your ASP.Net application. Does the application send the message with authentication? Which authentication method is used by the application? Please also check if the sender email address is correct.

     




    I didn't write the app, so don't know exactly how it works.  Should the sender email really matter?  When I did my telnet test, I added a made up from address and it worked.
    Thursday, July 14, 2011 11:18 AM
    1. Try this, create a new receive connector for your ASP.Net app, I assume this is sitting on a server, so add that IP to this new receive connector. Create the connector as per link - http://exchangepedia.com/2007/01/exchange-server-2007-how-to-allow-relaying.html
    2. You need to make these change to the connector, for Authentication, Use Basic Authentication only, for permission groups use, Exchange users Only. Dont select anything else.
    3. Go to ADSIedit>configuration>Services>Microosft Exchange>Exch Org anme>Exch Admin group>Servers>expand your server>protocols>SMTP receive connectros>select your connector>go to properties>security>click add>add your domain user which you are using in your code
    4. Make sure these perissions exisit (allow) for this user>Read,Accept Any Sender,Accept Authoriate Domain Sender,Submit message to any recipient,Submit messages to Server.
    5. Click OK to save changes

     


    Sukh

    I'm sorry, but why would I have to through all of this.  Is this a known issue?  I'm not actually doing relaying in this case as the Exchange server is the main mail server for my "domain.com", and that's the to address that's trying to be sent to.
    Thursday, July 14, 2011 11:20 AM
    1. This isn't a known issue, The issue is with app.  You need to speak to the developer who wrote this and understand what autentication it supplies.  From your code it doesnt show anything.  A guess would be BASIC.
    2. You havent mentioned if you were relaying to your internal domain or external domain.  Now that you have mentioned internal, then dont give the right to submit to any recipient.
    3. This is why you may have to do this to get it working, without knowing the authentication the app is trying to send.
    4. You have mentioned that telnet works fine, so you know Exch is working through basic smtp command, the issue is with your app.
    5. I've seen some apps with this issue too, this is the reason why I suggested this.
    6. When you did you telnet test, you made one up, sure, the IP is trusted, your app sitting on that IP is doing something else.
    7. Also, set the DefaultDomain on the receiveconnector.

    Sukh
    • Edited by Sukh828 Thursday, July 14, 2011 11:44 AM Point 7 added.
    • Marked as answer by Gen Lin Friday, July 22, 2011 2:31 AM
    Thursday, July 14, 2011 11:37 AM
  • Thank you everyone for your valuable comments.  I'm going to try some more stuff out...
    Thursday, July 14, 2011 11:51 AM
  • Hi,

    Is there any update on this problem?

    Wednesday, July 20, 2011 8:32 AM