That's odd. Here's what should happen. A PPP or PPPoE or DHCP connection is established. The process that controls the connection (this can be pppd, pppoe, dhcpcd or whatever) will have a post-connection hook (/etc/ppp/ip-up.local, or /etc/dhcpc/dhcpcd-eth1.exe, or whatever) where you can run scripts/commands. SME Server will run "/sbin/e-smith/signal-event ip-change [new_ip]" in the post-connection hook. This means that all the parts in /etc/e-smith/events/ip-change will be run in order with a single argument, new_ip. This argument is available to the various parts of the event as $2 ($1 is the event itself). If you look at the first part of /etc/e-smith/events/ip-change, S15set-external-ip, it sets ExternalIP in /home/e-smith/configuration to the value of $2 (or $ARGV[1] in perl parlance). Later on the mail-external-ip part will send the value of $2 to the email address you specified. So, the ip address that's sent by mail-external-ip should be the same as the ExternalIP in /home/e-smith/configuration. Is this not true in your case?