On CentOS 7 it looks like firewalld creates iptables rules even though iptables does not seem to be installed.
the iptables command works however the service is not installed when trying systemctl status iptables the result says iptables.service could not be found
iptables -L shows a lot of rules when firewalld service is started and none when firewalld is disabled
There is a lot of information on how to create rules in both firewalld and iptables:
This one in particular had a good suggestion on adding the mail ports I was focusing on at the time
iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT iptables -A OUTPUT -p tcp --sport 587 -j ACCEPT
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT