Strange networking behavior when sending from PHP via Exim to the world
Hello,
I use the latest WordPress with the latest version of a WP email SMTP delivery plugin.
It works fine, sending emails using STARTTLS to port 25 of a remote server on the Internet.
I wanted to understand how it works so I did a test delivery using this plugin and in parallel did a network packet capture using tcpdump, catching from all interfaces, without any filtering or limitations.
The background:
The server is Ubuntu using the latest version 114 CP.
The server has a local private IP, which access the Internet via a local FW, using 1:1 NAT. The FW is connected to the Internet and use a public IP.
The session goes like this:
1. Internal-Private-IP at some source port (say 55661) > 127.0.0.1 port 25 - SYN
2. Target-External-IP at source port of 25 > Internal-Private-IP at port 55661 - SYN, ACK
3. Internal-Private-IP at port 55661 > 127.0.0.1 port 25 - ACK
What looks strange to me is it looks like a step is missing between action #1 and #2, I don't see the Internal-Private-IP connecting to the Target-External-IP at destination port 25, I gust get the Target-External-IP reply, to a request I don't have evidence to.
When the session continues with SMTP commands - the same happens, there are no steps that show connection to the Target-External-IP server, only replies from it.
(I realize that probably also the sending of the "SYN, ACK" back from Internal-Private-IP to 127.0.0.1 is missing, to have full tidy session, but I guess this is Exim saving time of obvious sub-session steps)
I guess the Internal-Private-IP is being sent using a PHP function of WP and that 127.0.0.1 is probably Exim.
Any idea what is going on here?
-
Hey hey! This doesn't sound like it would be related to any cPanel tools, but I'll leave this thread marked as new for a bit for visibility to see if other users have ideas on what may be happening here. 0 -
I'll let other more Exim experts chime in, but from WordPress/SMTP plugin the email is not going to immediately send. The SMTP plugin will put the email into Exim's queue and then Exim will give a status code to the STMP plugin that the email was accepted. Exim will then attempt to deliver the email that has been placed in the queue. 0
Please sign in to leave a comment.
Comments
2 comments