Link to home
Start Free TrialLog in
Avatar of newtoexchange
newtoexchange

asked on

5.7.1 Client does not have permission to send as this sender

Hi all,

I've searched the KBs here, and I guess I'm just not too sure what to look for, so here it is!

I run an Exchange 2007 server in a hosted environment. I have a mailbox called mwa@ourdomain.com. We send emails from a few different sources on the internet using this email address. These users are not MAPI clients, they just connect to our server via smtp, password authentication. When this user sends email as mwa@ourdomain.com, all goes through just fine, however, when they try to send it as someone else, it gets the 5.7.1 error, client does not have permission to send as this sender.

How can I configure this user to be able to send as any email address?

Thanks!
Avatar of tigermatt
tigermatt
Flag of United Kingdom of Great Britain and Northern Ireland image


When you say "a hosted environment", can you still control the box? You'll need to have login rights to make the following changes; if you don't you will need to take the issue up with your ISP.

The receive connector which the emails are going through needs to grant Authenticated Users the ms-Exch-SMTP-Accept-Authoritative-Domain-Sender permission. This allows emails from authenticated users to be sent from any email address, not just the address associated with the logging in user.

To add this, at Exchange Management Shell type:

Get-ReceiveConnector "SERVERNAME\Connector Name" | Add-ADPermission -User "NT AUTHORITY\Authenticated Users" -ExtendedRights ms-Exch-SMTP-Accept-Authoritative-Domain-Sender

This should fix your problem.

More on receive connectors and the set of permissions here: http://technet.microsoft.com/en-us/library/aa996395.aspx

Matt
Avatar of newtoexchange
newtoexchange

ASKER

I've run this command, changing the Servername\Connector Name only, appeared to run without fail, however, I'm still getting the same result. Do I need to restart any services to make this effective? I assume not since it is an AD change.

Thanks,

I believe that you also need to add sendas permissions in AD.

Log in to a computer in the Windows® domain as an administrator that has permissions to modify user objects in Microsoft Active Directory.
On the taskbar, click Start > Administrative Tools > Active Directory Users and Computers.
On the View menu, click Advanced Features.
Right-click the domain root. Click Properties.
On the Security tab, click Advanced.
Click Add.
Type the name of the Windows account that you created (for example, mwa).
Click Check Names.
Click OK.
In the Apply drop-down list, click User Objects.
In the Allow column, select the Send As check box.
Click Apply.
Click OK.

It shouldn't need Send As rights. I've just tested this myself with a test connector and adding the above permission was sufficient to allow the email to pass.

My connector was configured with Basic Authentication and permitted Exchange Users to connect to it.

What is the configuration of your connector as seen in the GUI?

Matt
Here's how my default receive connector is configured.

tigermatt, do I need to add the domain that we're trying to send from anywhere else in Exchange in order for the command you'd suggested to work? Was I correct in only changing the "SERVERNAME\Connector" in your command?

Thanks,

 User generated image User generated image
For the record, I did try linraf's solution with no effect, still getting the same error.

That's the same setup as me in my lab.

I have my default connector on which I ran the above command. Yes, all you need to change is the connector name.
I am then using Outlook, creating a POP account with a bogus POP server and the server name as the SMTP server.
Enter login credentials for TestUser and TestUser@domain.com in email field to begin with, where domain.com is one of the domains hosted by this Exchange environment.
Enabled SMTP Authentication in Advanced.
Tested the configuration; I receive the confirmation email back in TestUser's inbox.

If I now change the email address in the email field, to TestUser2, but continue to log in as TestUser, and click the test button, TestUser2 gets the email back.

This indicates that as an authenticated user, TestUser now has permission to make it appear he can send emails from any other user@domain.com.

I don't believe the Transport Service caches connector permissions as all my changes have been immediate, but it wouldn't hurt to restore that service on the server just in case.

Perhaps you could run the same tests from Outlook? Are the clients trying to send via this server using Outlook or something else?

Matt
In re-reading my original post, I believe I should've clarified something. I want to log in as mwa@ourdomain.com, and might like to send email as: mwa@somethingelse.com, or completely@differentdomain.com.

My apologies on the lack of communication.
I am running Thunderbird in almost exactly the same fashion as you have your Outlook setup. I get the same result in Outlook.
ASKER CERTIFIED SOLUTION
Avatar of tigermatt
tigermatt
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Matt,

As soon as I realized I wasn't very clear in my original question, I went back and added the domain I'm trying to send from to the accepted domains, and made sure it was authoritative. This made your command work like a charm. Thanks for the tips! I will likely lock this down to only this user in the future to stop all of our clients from having the ability to spoof maliciously.

THANK YOU!!!

No problem at all regarding the question; things like that happen to all of us.

Glad to hear you're up and working.

Cheers,

Matt