script sending SMTP too many messages in this connection

asmithjr

Well-Known Member
Jun 13, 2003
516
8
168
I have a script using phpmailer that I've modified to use SMTP instead of php mail.
The script uses isSMTP with the $mail->Host = "IP address"
this works fine using any of the 4 IPs. I've tested using a small list.

This morning I got a message from a user stating their schools mailing list failed to send all the emails in the list.

The error is
Code:
Failed to send to [[email protected][/EMAIL] The following From address failed: [EMAIL='[email protected][/EMAIL] : MAIL FROM command failed,too many messages in this connection ,421,SMTP server error: MAIL FROM command failed Detail: too many messages in this connection SMTP code: 421SMTP server error: MAIL FROM command failed Detail: too many messages in this connection SMTP code: 421
The emails are sending from my server connecting to my server using the IP and login credentials. Since this particular list contains 2183 emails and 1183 failed so 1000 emails sent and I see this in my logs.

I use SMTPKeepAlive=true; then SmtpClose after the emails are sent.
I cannot find anything useful to show a limit for the number of messages in this connection. I see smtp_accept_max =100 in the exim.conf but this appears to control the number of smtp connections and not the number of messages.
In this case I am the ISP so I want to allow more messages per connection if possible.
Does anyone know if adding smtp_accept_max_per_connection to the exim.conf will correct this problem and if so, how to make it stick?
Thanks
 
Last edited by a moderator:

asmithjr

Well-Known Member
Jun 13, 2003
516
8
168
Thanks Michael, I've thought about these. My max per domain is 1000 however I also have them restricted in each profile. So if I change the max here will it reset what I have for each account?
Max hourly emails per domain [?]
The maximum number of emails each domain can send out per hour.
I would not want to undo all the settings. I realize that the login the script uses is for one particular domain I've set up and it is set up for the default which is 1000. This may be the issue. I am just not sure.
 

asmithjr

Well-Known Member
Jun 13, 2003
516
8
168
sorry I missed that. when I checked the domain that is sending it is set for unlimited not the default.
 

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,880
2,258
463
The individual limits take precedence over the global limit, so you don't have to change the global limit. Try increasing the "smtp_accept_max" value using the "Advanced Editor" in "WHM >> Service Manager >> Exim Configuration Manager" to see if that helps.

Thank you.
 

asmithjr

Well-Known Member
Jun 13, 2003
516
8
168
I just found this
smtp_accept_max simultaneous incoming connections
smtp_accept_max_per_connection messages per connection
smtp_accept_max_per_host connections from one host
Then while trying your suggestion I see how to add these by choosing the dropdown it let me add the smtp_accept_max_per_connection so I set it. Now when I view the exim.conf I see both settings.

Still not sure what the proper answer is for this trouble but will try it to see. I've asked one of the clients to monitor when sending next message to their parents.
 

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,880
2,258
463
Feel free to update this thread with the outcome after enough time has passed to verify if the issue persists.

Thank you.