However, I want to make sure that my server is not compromised as I've heard that having smtp/mail installed opens up new options for hackers
Any service can "open up new options for hackers" if it's poorly written. But for mail, both Postfix or Exim4 are very secure.
(In general, you'll be fine as long as you don't use a ten-year-old Sendmail. Current versions are secure, but I would recommend staying away from Sendmail anyway – the configuration file isn't exactly human-readable.)
Is there a tool that does not receive emails, but is only able to send them?
Any MTA (Postfix, Exim4, Sendmail) can work this way – just configure it to listen on loopback addresses only (::1
and 127.0.0.1
). You can even disable the SMTP compontent entirely – most Unix programs do not require it and send mail through /usr/sbin/sendmail
1, making SMTP unnecessary.
It's really not necessary against "hackers", though. The worst you can get with a decent MTA is leaving it open for relaying – and the default configurations already take care of that.
Another option is msmtp
, which doesn't even have full SMTP support – all it can do is relay mail through another mail server, such as Gmail's or your ISP's. But while it's useful for a personal computer, it doesn't really fit into a server environment.
1 "/usr/sbin/sendmail
" is a program that comes with all MTAs, while "Sendmail" is the name of a specific MTA.