The conventional way for a mail client program to send e-mail is using TCP port 25, which is also the port used by mail servers to talk to each other. But port 25 is now widely abused by malware to spread worms and spam. As a result, many ISPs are restricting its use.
There is another method to send e-mail which is more preferred than using port 25. Its name is mail or message submission that using TCP port 587.
Detail explanation taken from Wikipedia:
Message submission (RFC 2476) and SMTP-AUTH (RFC 2554) were introduced in 1998 and 1999, both describing new trends in e-mail delivery. Originally, SMTP servers were typically internal to an organization, receiving mail for the organization from the outside, and relaying messages from the organization to the outside. But as time went on, SMTP servers (Mail transfer agents), in practice, were expanding their roles to become message submission agents for Mail user agents, some of which were now relaying mail from the outside of an organization. (e.g. A company executive wishes to send e-mail while on a trip using the corporate SMTP server.) This issue, a consequence of the rapid expansion and popularity of the World Wide Web, meant that the SMTP protocol had to include specific rules and methods for relaying mail and authenticating users to prevent abuses such as unsolicited e-mail (spam) relaying.
In fact almost all mail server supports mail submission port 587 but it may not be turned on. That is why I write this tutorial to let you know how to enable or activate the mail submission in Postfix.
By default the mail submission in Postfix is already there. You just need to enable it on /etc/postfix/master.cf file. So open that file using your text editor and edit to be like below:
smtp inet n - n - - smtpd submission inet n - n - - smtpd
Then restart the postfix service.
$ sudo /etc/init.d/postfix restart
$ sudo /usr/sbin/postfix reload
Then try to send an e-mail using TCP port 587. If failed, double check the master.cf file and also look at the /var/log/maillog file.