Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Question
Thursday, February 1, 2018 4:31 PM
Hi All,
I am looking to send authenticated SMTP traffic via our Exchange server.
I am running Send-MailMessage with a customized message body for each individual user.
Send-MailMessage -Encoding UTF8 -Subject $subject -From 'IT Notification <[email protected]>' -To $emailaddress -Body $body -SmtpServer $smtpServer -Port $smtpPort -BodyAsHtml -Credential $kNotificationPassEncrypt
But I get the error after 5 messages
Send-MailMessage : Service not available, closing transmission channel. The server response was: 4.4.2 Message submission rate for this client has exceeded the configured limit
It seems the Receive Connector is set to just 5 for authenticated SMTP
These are how the default connectors in Exchange 2016 look.
[PS] C:\Windows\system32>get-receiveconnector | ft name,messageratelimit
Name MessageRateLimit
Default EXCH01 Unlimited
Client Proxy EXCH01 5
Default Frontend EXCH01 Unlimited
Outbound Proxy Frontend EXCH01 Unlimited
Client Frontend EXCH01 5
Default Frontend EXCH01 uses SMTP on 25
Client Frontend EXCH01 uses authenticated SMTP on tls 587
I am wondering why the default value of 5 messages per minute is so low for Client Frontend EXCH01 and for that matter also set as 5 on Client Proxy EXCH01?
Message rate limit The maximum number of messages per minute that can be sent by a single source. | unlimited on the following default Receive connectors:
|
All replies (4)
Friday, February 2, 2018 3:14 AM âś…Answered
Hi,
Thanks for contacting our forum.
Client Frontend <server name> (on port: 587) Accepts secure connections, with Transport Layer Security (TLS) applied. While Client Proxy <server name> (on port: 465) accepts connections from front-end servers which means used to accept proxied connections that were received on port 587 by the FET service for client connections. So they should be same.
If needed, we can change the value with the command set-receiveconnector.
Hope it helps.
Best Regards,
Jason Chao
Please remember to mark the replies as answers if they helped. If you have feedback for TechNet Subscriber Support, contact [email protected].
Click here to learn more. Visit the dedicated forum to share, explore and talk to experts about Microsoft Teams.
Thursday, February 1, 2018 10:03 PM | 1 vote
I expect it is so clients cannot overrun the system resources if they're infected with malware or a developer screws something up.
You might want to create a specific connector for whatever you're trying to accomplish.
Friday, February 2, 2018 9:14 AM
Thanks for each of your contributions.
Putting together both of your suggestions I will create a custom Receive Connector, I don't want all my clients to have access to the higher message rate limit.
I will set this to 70 per minute and limit my script to 1 message per second.
New-ReceiveConnector -Name "Password Expiry Notification" -Custom -RemoteIPRanges "10.0.1.2" -Bindings "0.0.0.0:587" -TransportRole "FrontendTransport" -AuthMechanism BasicAuthRequireTLS,BasicAuth, Tls -MessageRateLimit "70" -PermissionGroups "ExchangeUsers"
Just to explore your answer further Jason. Will I need to set my 'Client Proxy EXCH01' Receive Connector to 70 also or perhaps create a second custom receive connector and set a message rate limit of 70
Another option is setting a Throttling Policy for that user who I am authenticating as to send the mail. I'd like to get your thoughts on this as an alternative?
New-ThrottlingPolicy -Name notification-email-policy -MessageRateLimit 70
Thanks,
Michael
Friday, February 2, 2018 10:09 PM
I went with Set-ThrottlingPolicy in the end and left the Receive Connector alone. Worked a treat.
Thanks
Michael